Are you sure there couldn't be anything else at work there? I assume people here know what their download and upload speeds are from sending and receiving files, and those have to be perfect byte-for-byte, so it should be the same amount of packet loss and thus similar speeds. If users can normally send that amount of data in 30 seconds at those known speeds and it's taking them 3 minutes or more to do so in AI War for a two player game, I wonder if something else may be at fault.
Bear in mind that upload speed is the key divider here, as well as whatever else is going on with Hamachi and similar. Sometimes peer-to-peer connections have more hops than those to big servers, and most players do a lot more downloading than uploading. Also, if there are more than two players in a game, then remember that the uploading is multiplicative
2 players with 500kb = 500kb uploaded
3 players with 500kb = 1000kb uploaded
8 players with 500kb = 3500kb uploaded
Beyond that, there's not a whole lot I can really say, though. I mean, I pass off the data to the UDP library (Lidgren) that I'm using, and then it brokers stuff with the network card, which also passes stuff along. It might be that the algorithm for how packets are reconstructed (when packets are dropped or arrive out of order) on the far end is a bit different with other forms of upload, but that's not something I can really control. Given the new progress bar stuff, I'm breaking up these larger messages into multiple smaller ones, which should help, but I don't know of much else to do.