Interessant, @Unique ohne Parameter kannte ich noch nicht, das gibt einen angeblich eindeutigen String zurück (da hattest Du natürlich Recht, ich bekenne mich zu meiner Unwissenheit). Bei mir PKLT-xxxxx, wobei ich vermute, das xxxxx eine verschlüsselte Uhrzeit ist. PKLT ist wohl aus meinem Usernamen gerechnet.
Wie die die Eindeutigkeit des PKLT herstellen wollen, ist mir fraglich. Angenommen, eine Datenbank wird über mehrere Domänen repliziert, in einer anderen Domäne gibt es einen Paul Klatt, der bekommt vielleicht auch PKLT, und zufällig mit dem erstelle ich gleichzeitig solch ein Dokument. Ok, sehr unwahrscheinlich, aber der Teufel ist ein Eichhorn ...
Ich würde auf jeden Fall über @DocumentUniqueID gehen, hat auch noch den Vorteil, dass Du über die ID direkt auf das Dokument zugreifen kannst (Set doc = db.GetDocumentByUnid (...)).
EDIT: Hier der Test: Ein Agent @Prompt ([OK]; @Unique; @Unique) auf zwei separaten Maschinen mit zwei unterschiedlichen Usern, aber ähnlichem Namen, einmal Peter Klett/Kundendomäne und einmal Peter Klett/EigeneDomäne, zeitgleich gestartet. Resultat: Eindeutig nicht eindeutig!