BRAKE means "pause what ever you are doing now but ... you can continue later when ok... unless when abandoning what you are doing by using RESUME command"
RESUME command means "abandon/skip whatever you are doing now.... and resume main program" this overrides BRAKE so anything you are doing now is ... ignored and forgotten.
in this case term "main program" is relative. this is not necessarily the top level program, it is the program level where interrupt is DECLARED.
for example, lets imagine that you have top level program called prog1(), which calls prog2() as subprogram, and prog2 calls prog3 etc.
prog1() -> prog2() -> prog3() -> .... -> prog10()
supposedly you declare interrupt in prog3() and that interrupt uses RESUME command. if the interrupt is triggered and as a result RESUME command is processed... everything after prog3() is ignored. so it does not matter where (how deep in subprograms) the instruction pointer really is (prog4, prog5, prog6, ... prog10), RESUME will cause ALL of the to be skipped/abandoned and instruction pointer will jump back to prog3() because that is where this interrupt was declared. in fact it will go to line directly after call to prog4(). all child processes (suprograms) are killed/abandoned and "main program" is resumed (from interrupts perspective that is prog3 because that is where it is declared) .
and this is the reason why interrupts using RESUME command requires that code to be abandoned is in a subprogram, not in the "main" program where interrupt is declared (prog3 in this case). if RESUME command is executed while instruction pointer is back to prog3, program will crash and error will be displayed. this is why one must make sure that advance run pointer does not leave subprograms while interrupt is active and this is why interrupt need to be disabled right after that call to prog4
if not using RESUME, there is no reason to put part of the code into subprogram.