I've discovered and worked around the max four breakpoints, but I have discovered that many of my breakpoints don't seem to get triggered.
As well as I can tell, any breakpoint that is deeper than one function call into the mqx libraries from my application won't trigger. Tracing takes me through the same code, so I believe the breakpoint should be triggered when I hit F8, but no joy.
So with a call stack like: AppFunction()->mqxFunction0()->mqxFunction2()->mqxFunction3() I find that the processor breaks on breakpoints in AppFunction() and the entry to mqxFunction0(). Breakpoints in any of mqxFunction2() or mqxFunction3() never break. But if I trace, i can follow the entire flow, step in, step return, run-to-line all work in mqxFunction2() and mqxFunction3() but no breakpoints.