@Tom. Ok, that’s some great feedback. Errors 2 to 5 are a result of the first error being displayed on the screen. So, you really only have one error left.
Ok, I just tested that link from my browser, and it downloaded without any problems, when when I try to open it it is indeed corrupt.
I was doing some research, and issue could be a couple of different things. It could be a zip compression setting: http://stackoverflow.com/questions/6276879/php-download-script-for-zip-files-corrupting-the-file
It could be an incompatible encoding of the download.php file itself: http://stackoverflow.com/questions/6328750/how-do-i-fix-this-php-download-script-which-is-corrupting-files
The best thing to do is to search for web for various download scripts, and test them to see what works. Once you find one that works, just use the code in the download.php file. Of course, I am assuming to understand PHP. However, I believe that ultimately this is a server configuration issue, as others have experienced this problem: http://www.hotscripts.com/forums/php/47774-download-script-not-sending-file-size-header-corrupt-files-since-using-remote-file-server.html