It sounds to me very much as though you are running up against DreamHost's process killer. To protect the server's resources from abuse, and so that others' sites on your server will not grind to a halt, the "procwatch" program will kill precesses that it feels are consuming too much resources.
This is one of the reasons that setting your memory limits very high, or changing your max_input_time or max_execution_time to large values will not necessarily work - irrespective of your settings, if the procwatch feels that the process is taking too long, or consuming too much memory, it will kill the process.
PHP is a poor way to handle uploads of this size. I recommend, if you cannot use traditional SFTP to transfer these files, you use something like uber-uploader, which passes the "heavy lifting" of the file-upload process to a perl script that is not encumbered with PHP's overhead.
At some point, you will still have to contend with procwatch, but I have uploaded files over 200MB with uber-uploader on DreamHost in testing. Really though, files of this size are better transferred via SFTP.
I read through the e107 thread, and I don't see that is related to the problem you are reporting (If a smaller .exe file succeeds!)