Ich habe letztens allzu voreilig mein Posting vom Juni hier revidiert - was mir allerdings gezeigt hat, dass man doch nicht alles gleich posten sollte, wenn man es nicht zu 100% ausprobiert hat ;-)
Jedenfalls habe ich mich eben einmal mit Scope_Identity() probiert, wobei mein PK dabei vom Typ Uniqueidentifier und als RowGuid definiert war.
Ich mach's kurz: Scrope_Identity() funktioniert nur und ausschließlich mit echten Identities, sprich Integern.
Allerdings hat mir der SQL-Server dabei auch gleich die passende Alternative geliefert - auf die nun wirklich 100% Verlass ist ;-)
Einfach den PK als Uniqueidentifier deklarieren und den Key mittels "newid()" in StoredProcedures selbst erzeugen, bzw. wie im Juni beschrieben im Business-Layer selbst.