Terry,
This issue was introduced about two months ago, in a test build Brian did to address one of my (many!) problems. It only seems to affect OEMButton calls issued from within the macropump. The change Brian made had to do with trying to block many/most button calls when a program is running, so my guess is he's not properly tracking the state, and blocking too much. The macropump exits immediately after issuing the OEMButton call, so adding a while loop will do nothing to return control back to Mach any more than it already is. Besides, it is a real bug, and NEEDS to be fixed, not just worked around.
Regards,
Ray L.