I understand some people like "what-if's" and that's fine, I do too, but I also like things to follow history sometimes. Maybe the solution would be two campaigns, one which the AI will try to stick to the historical record somewhat, like maybe put victory locations in the city itself that will cause and instant game over once the Soviets capture them, or just anchor a certain portion of the Nazi army in the city itself and not allow the AI to move them more then two or three hexes. And then another campaign like the current one where just about anything can happen.
One last thing I think this game could benefit from would be disengagement penalties when a unit tries to pull away from a hex when they are neighboring a strong enemy unit. As it is now it seems to me that infanty units can exploit gaps in lines way too easily than they should. Things like that should be reserved for armored and motorized units.
I will admit that I am just now getting into the game and these comments are rather 'off the cuff.' but they are just some thoughts/suggestions. Take it as you like. I am not programmer or professional historian, but I have played a lot of wargames and read a lot about WW2 and would love to recreate some of the Stalingrad fights a bit more historically.
I am enjoying the game and I am glad I purchased it. Still trying to figure out how I am going to capture Kalach in two turns with the entire 6th Army shifted to cover the flanks when i start turn two.

Cheers.