Si, es la misma función que utilizo pero en el programa lanzado, al salir le pongo como ejemplo Halt(20) y en el servicio que lo lanzo tengo esto:
Código Delphi
[-]
WinExecAndWait32(cmd+' '+parm, SW_HIDE);
i := GetLastError();
ShowMessage(inttostr(i));
El showMessage me muestra 1813
Es decir hice el Halt(20) y recib 1813 ??