я польщую вот такой код. Вроде, сбоев небыло:
Код:
unction GetUserFromWindows : String;
var
UserName : String;
UserNameLen : DWORD;
begin
UserNameLen := 255;
SetLength(UserName, UserNameLen) ;
If GetUserName(PChar(UserName), UserNameLen)
Then Result := Copy(UserName,1,UserNameLen - 1)
Else Result := 'Unknown';
end;