Just to complete the above analysis:
MP save game downloads do the following steps:
- Host selects save game, which has a filename, a date stamp and a file size
- Client checks local save game folder for a match with the above
- If match is not found, host will compress contents of the save game into a compressed file. This file has the same name as the save game, but a different file extention.
- Compressed file is transmitted to the client, which gets stored in client's local save game folder
- Client decompresses the file, thus reproducing the save game.
Where things can go wrong, is with the file name/date stamp check. If there is a file in the client's local save games folder with the same name but different date stamp and/or file size, host will transmit the compressed file, but the decompression usually will fail (because of existence of a save game file with the same name). Host assumes client has correct save (as host just has sent it), but client still has different one. Thus loading and starting the scenario based on the save game will fail.
It would be usefull to know at which stage in the above procedure the problems arise.