These concurrency issues are the worst, and some redesign and implementation is needed indeed. (1-2 months of work)
1. Level up: why do it with a pop up? make a little arrow or + appear on the unit frame, have the user click it when he can and do the level up.
2. City spec: same as 1.
3. Quest events: these really need to go in the event queue on the side, the relevant stack should be frozen in place until they are resolved.
Concurrency is HARD for multiple reasons. Never take it lightly in a project.
Stardock is moving all the pieces simultaneously like they did on Galciv. This is not the same game!!!!
Galciv didn't have quests-events on tiles, leveling up, or planet spec. it doesn't work like that.
Also there's the issue of ambiguity: 2 stacks auto move at the end of turn to a single destination. Which one triggers the event-quest FIRST? (both stacks have champions). Another solution would be to implement an "enter event" command. However that would only work for voluntary event triggers.
I noticed these issues way back. I don't think they will fix em. it's beyond their budget, Perhaps in an xpac and even then I doubt it.
[edit: spelling]