Hey Toni,
My suggestion is to check out the path string you're using to copy the uploaded file from the temp directory to the destination. For example, in a classified ads app I recently wrote, customer's could choose to upload pictures which would then be renamed and moved into a temp. upload directory pending ad approval by the site admin. I ran into the same thing you're describing. The problem was the way IIS reports system paths in the environment variables. I was using something like:
$final_dest = $DOCUMENT_ROOT . $temp_up_path . "image.jpg";
to create the path where $temp_up_root is defined in a settings file as something like:
$temp_up_path = "/temp/image_dir/";
Apache on Win32 reports $DOCUMENT_ROOT as "d:/inetpub/wwwroot" so this works (of course it works in *Nix as well). IIS on the other hand reports $DOCUMENT_ROOT as "d:\inetpub\wwwroot" so the mixing of front and backslashes of course caused a script failure. Yet another one of my pet peeves with M$, why do they feel the need to try and do stupid crap like using backslashes when all URL's and UNC's use forward?
<sigh>the monkey's are trying to infiltrate</sigh>.
Anyways, hope this helps you out!!
Cheers,
Geoff A. Virgo