In this bug report against the debugger as run from vscode, I mentioned what looked like a related issue in mdd. It turns out that its a completely separate issue.
Basically, if you open a .prg file under mdd, set a breakpoint, and run, when you hit the breakpoint, trying "next", "step" or "finish" will report:
Cannot step when location is unknown.
If you then run "bt" or any of the "info" subcommands (ie "info frame", "info locals" etc), stepping starts to work.
We shouldn't have to do that - "next", "step" and "finish" should automatically do whatever "info frame" does to determine the current location.
Note that when the debugger runs from inside vscode, the debugger protocol asks for the full stack trace (equivalent to "bt") on every "stop" event, which presumably hides this problem there.