heh that is a very hot topic, and is called the load/save bug since it happens when you've loaded a savegame. The AI estimates best cause of action for each army, and in doing so forgets about the siege it was working on (though not if they originally planned to starve the garrison out).

The best solution atm is to play with minimal reloads...

You can find a lot more about this in the various threads on the subject.