Thanks for pointing this out. GOTO again. wow. I've had a heap of issues with GOTO over the years. It seems like a simple function to get right but the dynamic shifting of the macro list during macro execution, as it turns out, has been difficult to nail down.
I found the issue in the code. If your interested the issue was that when a macro is read back in to the macro list from a saved .mmmacro file it was not removing the trailing LF (new line) at the start of the line. So instead of this:
* | Cont
It was reading it in as: LF & * | Cont
With the LF at the start I was never reading it in as a remark with a label.