Excellent! In examining what IE and Mozilla create, I was able to indentify exactly what was the problem in the header.
It seems that neither browser states the Content-Length for just the file disposition, but do for the whole transaction at the beginning. In other words, the second last line shouldn't be there at all. This makes sense in accordance with the rather ambigous error message that I got. Final question: how do I turn this off? Thanks for all your help guys!
Content-Type: multipart/form-data; boundary=xYzZY
Content-Disposition: form-data; name="works_id"
Content-Disposition: form-data; name="lab_id"
Content-Disposition: form-data; name="filename"; filename="260015626-2