Well, than the problem is, most probably, in the permissions to the temp folder.
Can you try outputing the temporary path to infolog on the machines that have problems and on those that don't:
X++:
info(SysResource::getTempPathName());
Then, on each of them, verify user rights to that directory in Windows. (ask your administrator to help, if required). They should (by default, actually), have write access to that directory - but maybe something got messed up...
Also, check if the code in SysResource class has been modified?