¿Y no te sirve generar un GUID?
Código Delphi
[-]
var
G: TGUID;
begin
CreateGUID(G);
ShowMessage(GUIDToString(G));
end;
Esto te va a crear cadenas tal como las requieres, y en teoría son únicas:
{34043AD8-4933-48F0-A221-3EF4CD2A478E}
{5358166A-5845-49B8-AE08-2D3F4D6F0516}
{33ECCC7C-B796-43F3-A038-0BD130D28353}
Saludos.