If you know you might want to cancel a long running macro, do the following
Save the macro instance id in a Global variable as an action step in that macro by
write a separate macro to kill it triggered by a hotkey combo or status menu etc with this action:-
Add appropriate Alerts and Notifications as you feel.
Just for information here is what the id may look like
XI is macro instance ID
the other two are the Executing Macro and ExecutingThisMacro values.
AFAIK this corresponds to going to cancelling via the Status Menu.
It only cancels this macro, not parents, but probably dependents