The only thing I can come up with after testing this is that castsequence considers shield charge as failed if not used from melee range. Macro works fine when used from melee range, but anything beyond auto attack range, it does not progress past shield charge.
It seems that in this thread, a similar issue was eventually encountered, where shield charge would brick the castsequence.