Hmm what I would try is maybe just adding a short delay after the verfire cast in the macro to see if that prevents the issue. Something like...
/micon "Verfire"
/ac "Verfire" <wait. 0.5>
/ac "Verthunder"

Obviously that's not ideal but it might work as a band aid for the time being. It's really too bad that there aren't any exception commands, like a "cast this unless this is available" type thing.