One thing that would be nice, and which I expect we'll need to do later in C2C anyway, if not in the base, would be to keep the concepts of maps as display spaces (i.e. - what the Civ4 engine is aware of as the set of graphical entities and externally visible CvMap instance) and play-spaces (i.e. - what the AI and turn processing sees) distinct. See this thread for one reason why this would be nice:
http://forums.civfanatics.com/showthread.php?t=460484.
It's not for me to say what you should do in your mod, but since the eventual need (my need, not neccessarily yours, so take this only as opinion) would require such a split, it would be better if aspects that entangle the two concepts were avoided rather than increased. Handling UI interaction that is initiated by the game, rather than the user (popups and map-centering mostly), is one major such area. If you address it by changing processing order in things like doTurn() you tend to entangle the things better kept separate. Looking at filtering the message queues by map, so that only those relevant to the current map get delivered, and the rest stay queued, might be an alternate approach without this downside. End-turn would still need to implicitly map-switch if another map had queued up interactions, but that's true either way I think.