Will had problems running this and when I looked at the source code I realized I had failed to clear the decimal mode flag at the start of the program. If you loaded it with PBUG or eWoz, it would work fine because both of those clear the flag for you. With the original monitor, the status of the flag depend on what is stored in a memory location the monitor uses. Unless you set the flag, you don't know what state the flags are in when you try to run something. (The original MS BASIC suffers from this same issue.)
I have added a CLD instruction and updated things on github, so it should be fairly bullet proof now.