A primera vista parece que le problema es debido a que cmd no permite usar una carpeta remota como directorio actual. Pues bien, le diremos que use otro, por ejemplo el de windows. En vez de esta linea:
Código Delphi
[-]
if CreateProcess(nil, @Buffer, nil, nil, TRUE, CREATE_NEW_CONSOLE, nil, nil, si, pi) then
Coloca esta otra:
Código Delphi
[-]
if CreateProcess(nil, @Buffer, nil, nil, TRUE, CREATE_NEW_CONSOLE, nil, 'C:\Windows\', si, pi) then
Eso deberia de solucionar ese error.