Ok, I hit a bug that requires me to revert to an earlier save. Essentially, the same turn my city produced a unit, a roaming monster group attacked the city. The battle transpired as expected--my new unit and the city militia groups were defending. However, after losing the battle, the remnants of the victorious monster group had not razed my city. Instead, I retained control of the city and could continue building as normal. I assume the "game" got confused because the new unit had appeared outside the city on the map, even though it had been properly considered part of the defending force when the city was attacked? It did die in the battle and it was no longer on the map after the battle ended.
All of this seems weird, but not particularly game-breaking. However, what was game-breaking is that--following this sequence of events--I could not move one of my heroes that was leading my main army roaming around outside the city. I'm not sure if the atypical attack sequence on the city triggered this, but my hero was frozen in place. I could activate all of the other units in the hero's group and move them by having them leave the group. I could also force the hero to move by hitting explore, but I could still not move him if I took control of him later.