What I see when I load up this save is a city of yours has two guys stationed (pioneer and another guy), with a wolf about to attack that city. The wolf attacks your city, and only has a battle against the guy that has >0 attack. Auto-resolve it, and wolf wins. Pioneer, having not been in the fight, is still in the city, "defending" it, even though he has no attack. Hit turn a few times until the wolf decides to attack again. No battle occurs, wolf takes city, pioneer is kicked out. City is destroyed.
The code purposely leaves out guys that have no attack when building the list of defenders to take to a battle.
The problem, in my opinion, is that the wolf shouldn't have to re-attack after winning the first battle, in order to take over the city. If he wins a battle against all defenders that had an attack value >0, he should take over the city right then and there, kicking out those remaining defenseless units (in this case pioneers).