What if a map downloader were implemented separately, so that when joining a server from ingame, instead of calling bf1942.exe +restart 1 [...] it called maphelper.exe +restart 1 [...] which would handle the map check and then call bf1942.exe +restart 1 [...] itself?
The downloader itself could work like an app called Wadseeker, which hits a (master?) server list and from there searches each server for the map it needs. The brunt of the downloading would fall on a content server and not on the server hosting the game.
The interim executable concept seems to be doable if I change the executable name here:

After changing it I'm able to launch my own test executable (see a video here), the problem there is that this only gets called when the game needs to restart (for a new mod or map), so it wouldn't work on the first go on a vanilla server.
So that leaves two issues in my mind:
1) Anyone know if it would be possible to force the restarting? There was some talk of disassembled code floating around, is this available?
2) Would changing this small amount of code run afoul of Punkbuster?