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.