Pinion,
You might want to see the setting of the php script timeout (I think it is also in the php.ini).
If your users want to upload a file that is 1Mb = 1,000,000 (roughly) bytes, then that means that it is 8,000,000 bits.
With a normal connection of 40Kbps (modem) you need (8,000,000 / 40,000) 200 seconds to upload it minimum. If your max_execution_time (or something like that is set to something small you might have a problem.
I had the same issue with photopost, in which you upload pictures (files) and it was this setting that did the trick for me.
Warm regards
Nikos