I am using IIS7 with PHP (FastCGI).
I set up the upload_tmp_dir to "X:\Temp" instead of leaving it empty, but it's still using "C:\Windows\Temp" for some reason.
I did give the following users full rights : NETWORK SERVICE, (application pool user), IIS_IUSRS. I also restarted IIS after I made the change.
I tried to create a directory inside the correct temp path using PHP, and that did work, so it's not a security issue.