Maybe try catching the creation of the temporary file in the TEMP directory using that second monitor? This assumes the file upload is taking long enough that you can do this, of course.
Switching to my technique for reading the file might give you more granular control over the I/O -- maybe you can throw some more debugging statements in to display to the browser whilst the file is being processed. I've never tried this myself in a CGI upload context, but in ancient times I've used it to isolate problems on regular file I/O.