I don't know if any of you are familiar with buildingbrowsergames.com, but I read an interesting article that may or may not apply here. Basically it was about developers "cheating" to find a solution to a problem. It talked about how creating the illusion of something happening is just as good and actually better from a simplicity standpoint than actually making it happen. So an example using sieges, the goal is to make the sieges last longer right? Instead of creating rules mechanisms to make the siege last longer, we would just ditch the rules and literally make siege last as long as we feel it should last. Given time, a siege will always be successful unless it is broken right? So we create a chance of a siege being successful after a given amount of time. The longer a siege lasts, the greater chance the siege is successful. No need for timers, no need for calculation of hits on a city.
This is just an example. One problem I already see is where Selon says the best part of a siege is looking in his email and seeing updates of the damage his siege machines have done, but perhaps Illyriad's vastly intelligent developers can tweek this idea. The game doesn't actually have to conduct a siege, it just has to make the user think it's conducting a siege.