The problem is not Windows. The problem is appalling standards of code and the use of static paths as opposed to the correct environment variables. Adobe were prime culprits for this until very recently.
You'd be surprised how many pieces of software still write to locations such as C:\Windows\Desktop as opposed to using logic along the lines of `IF OS=WIN9X use %WINDIR%\Desktop else if OS=WINNT use %USERPROFILE%\Desktop else ERROR`.
Snapshot-able virtual machines are highly recommended for such activities; Virtualbox (free), or VMware Workstation (not free).