I know, the board could simply be reset instead - but that will clear all unsaved instructions and certainly all data, whereas “having a run limit” totally helps “post mortem analysis”.
You know that you can already interrupt a running program by typing “~”? This isn’t as severe as Reset, as it leaves all your functions and variables unaffected.
The difficult part of your suggestion is the “post mortem analysis”. Ideally one would want your “run limit” to leave you in a state where you could examine the values of local variables, etc, and even carry on from where you stopped. The “~” escape key doesn’t allow you to do this either.
I’ll think about whether the “~” escape key could behave like the (break) function call, to let you examine the state of your program, or continue. Would that be useful, and provide something close to what you’re looking for?