Even if they were rebuilt, it would just be a nuisance. And once one city had been destroyed and rebuilt you'd have seen it all. What's the point of it happening randomly and infinitely?
There are two options:
1) Each building has several counterparts, and when one is destroyed it cycles through the next like 1 2 3 4 5 1 2 3 4 5.
2) They go really technically advanced and have each building made of several connecting parts. Some extreme script randomly selects x number of parts to build a randomly generated building with. In short, you NEVER have seen it all. There is always a new combination of buildings individually and as a whole in a single city.
The point is to create a new battle every time. It wouldnt be a nuisance because it could be scripted to only be attacked every x number of months. In game months take a long time, and it would happen frequently enough to enjoy it, but rarely enough to make it cool.
You seem to really hate the idea of a technically advanced game.