For your hurricane macro try adding in a [nochanelling] condition rather than relying on your stopmacro.

ie: /cast [nochanneling] hurricane