Hi,
there's few missing check on CheckBeginCast.
On live, if you use a potion that have a spell.CastTime > 0, you can't cast a spell for 6 sec. (if i remember correctly, if you use a potion and test a cast, the first second is 5, i presume the beggining is 6).
Second Check is for GameSiegeRam, can't cast a spell in, if i remember correctly
Another little fix on potion, you can't use a potion with a spell.CastTime > 0 if you were in state IsCasting.