Is there really a 400ms delay? That seems longer than necessary. I assume it has something to do with server latency.
While I would advocate something like this, I would propose, for a temporary workaround, some magic with OnUpdate and polling GetSpellInfo(), watching for the cast time to change (maybe with a 2s timeout or so, just in case something went wrong). It wouldn't be the most efficient of algorithms, but I don't anticipate any major CPU overhead in doing this and there isn't really a better way.
__________________
たしかにひとつのじだいがおわるのお
ぼくはこのめでみたよ
だけどつぎがじぶんおばんだってことわ
しりたくなかったんだ
It's my turn next.
Shakespeare liked regexes too!
/(bb|[^b]{2})/
|