Macro 1: (check do not auto interrupt)
@getenemy 'murderer' 'enemy' 'criminal' 'gray' 'nearest'
pause 150
playmacro 'macro 2' //the name of the second macro
Macro 2:(do not check, do not auto interrupt) (check loop)
@target! 'enemy'
cast 'fireball' 'enemy'
This will allow you to aquire an enemy and keep attacking them until you hit the hotkey for the first macro that aquires a new enemy. Any macro will stop the fireball loop. Even mid cast.