See my response http://www.sqlservercentral.com/Forums/FindPost754136.aspx
to thread http://www.sqlservercentral.com/Forums/Topic751882-361-1.aspx
Note that we are using GUIDs exclusively for most of our PKs. Very similar to your application. It gives us a lot of flexibility. As for fragmentation, you can't eliminate it. Note that a compound PK of two integer columns will also be fragmented as new entries are inserted.
Additional note: Microsoft also uses GUIDs as PKs. Just look at the ReportServer database or any of their ASPNET applications.
[font="Arial Narrow"](PHB)
I think we should build an SQL database. (Dilbert)
What color do you want that database? (PHB)
I think mauve has the most RAM.[/font]