If you create a new process without adding the environment block (by calling CreateEnvironmentBlock) the new process may fail to call Shellexecute and some other functions. Don’t think that the enviroment variables aren’t that important.

Find out more about CreateProcess in the post about “CreateProcess in full glory“.