I don't pretend to actually be in the know about AI programing, but I know enough to say that what's being used today forces a choice between reasonable waiting times and good AI.
Given all possible combinations (spells, movement, melee or arrows multiplied by number of characters) we are talking of what? 1,000 easy calculations (most values stored in game engine or/and temporary arrays anyway) per turn for the AI? A few seconds at worst, not more. Yes, I am willing to wait a few seconds for a sound battle AI.
And working with e.g. my house rule (disable before anything else) even less.
Regards,
Thorsten
Iterating over all possible combinations for a single unit's turn can be done by any computer in milliseconds. There is lots of room to grab low hanging fruit here, like having the AI check resistances, best tile to lay an AOE, etc.
The problem for designing a good AI is predicting the future. You never see simulation based AI in crpg's because the problem quickly branches into nearly endless possibilities. It wasn't until recently that simulation (nash equillibrium) bots became robust enough to challenge decent poker players. And there's a lot more variables/branching here than in poker.
Which is why it's likely almost every game in this genre will make up for the lack of intelligence of its AI, by giving enemies considerably more power, greater numbers, etc. It's no excuse though, there's lots of room to improve the AI in this game, and I don't rule out a very good programmer making intelligent rules of abstraction for getting the branching problem under control, to quickly run simulations. But I don't think it's ever been done yet (for crpgs).