Не скажет ли вам номер сеанса это?
ProcessIdToSessionId (GetCurrentProcessId (), & dwSessionNum)
Вам также необходимо проверить версию ОС, используя GetVersionEx: для всего, вплоть до XP / Server 2003, сеанс 0 является локальным (сервис или интерактивная консоль), все что выше, является виртуальным. Для Vista / 2008 сеансы 0 и 1 являются локальными (0 - сервис, 1 - консоль), все остальное - виртуальное.
Полагаю, ваши устройства Delphi объявили бы номер сессии как var, поэтому вам не понадобится амперсанд.