Вот так вот если сделаешь то нормально отображает GUID текущего рабочего стола.
Код:
function GetWindowsDesktopId(Wnd: HWND): TGUID;
begin
//with GetIVirtualDesktopmanager do
// try
OleCheck(GetIVirtualDesktopmanager.GetWindowDesktopId(Wnd, Result));
// finally
// _Release;
// end;
end;
то есть не текущего а на котором находится хендл нужного окна.