I really like the concept of casting times, mostly because it allows the possibility of counter spells. Also, it gives you a choice of a small effect now, or a larger one later.
The downside is that spell casters don't get to move very often, and with the speed of combat its unlikely they get more than a spell or two off.
It also means that you can't really have long casting times, since that unit would be a sitting duck.
What if the spell execution did not use the spellcasters turn? Basically, the spell would become its own unit in the initiative order.
The spell caster could then use its next turn to cast more spells or do whatever it likes.
I like the idea that caster sets the spell in motion, but then it takes on a life of its own. It might take awhile for that first fireball to land, but the next one will be right behind it.
It still leaves ample opportunity for counters as well.
Another thing that could be nice is that when the spell's turn comes up, you have the option to delay it again. Perhaps it costs some mana, but it would give you some flexibility and depth to the combat. For example, it would be nice to cast a counterspell and have it waiting for you to execute, as opposed to getting lucky that there is a spell to counter. Also, holding off for a turn before releasing the fireball can give you a chance to maneuver all the units a bit.
I think the net result would be more spells flying around, and also it will give the developers more flexibility in making longer casting times.
Thoughts?