But on top of this is warcraft 3's battlenet protocol. Keep-alive packets seem to be used, and they very keen to drop non-responsive hosts. If you're on a weak Wi-Fi signal and contending with others, occasional delays on the order of ~1-2 seconds are not uncommon - and bnet doesn't like this.
BattleNet has nothing to do with it. You can be booted from BattleNet and still continue playing for hours in the same session. The only thing it mean is that your BattleNet functionality (whispers, friend list etc) is all disabled. Additionally if you were playing a ranked game you would probably be evicted/forfeit as the server would disconnect you however that is not the issue here.
Rather unfortunately, wc3 custom games seem to use the same timing rules for keep-alive and reconnect as battle.net - typically once I get disconnected from battle.net, I also lag out for the full 'waiting for host' duration.
Not true, I have lost connection for upwards of 30 seconds (from router to ISP) and still managed to stay in the game once it was restored. As long as packets start arriving reliably it will keep you in the game.
Most people disconnect from online games due to either a crash or congestion. For example, if a functioning microwave or malfunctioning power equipment is nearby it can drop the wireless bandwidth to practically near 0 due to interference. You then disconnect from everything due to a combination of TCP timeout and insufficient bandwidth. This can also occur by overloading the network such as someone maxing out upload and download while you try to play.
OOS might be the problem, but it isn't related to map or installation. I can reproduce this even on a melee map.
You are not Knno, who claims that it affects every map except DotA. Seeing how a lot of WC3 distributions were optimized for DotA Allstars that means there is a good chances that the clients could not be deterministic with each other.
At some point I'd like to just get a Wireshark capture and see what's *actually* happening when I get disconnected, but I can't be bothered and usually just plug in my ethernet cable while playing wc3.
Except does that truly show what is happening? In your case it could be something as stupid as the wireless network drivers behaving incompatibly with WC3. All it would take is one minor behaviour deviation from common LAN drivers and WC3 could not be able to recover from errors correctly. For example when and how errors are thrown inside the driver stack could be the cause.
How does WC3 behave in the case of a total network failure? With LAN you seldom unplug the cable while the game is running. With Wireless it could intermittently loose connection (possibly sub-frame?) in which case network disconnection errors propagate around the stack and could potentially result in unusual network errors being pushed to processes. Maybe WC3 gives up in response to a network failure (cannot recover connection), which would reflect the behaviour you describe perfectly.
In any case one really should not try to game with wireless. There is a reason people have said that wireless networks and gaming are not recommend since the early days of local wireless networks.