Looks like I may have found another bug in the #CommanderX16 emulator. Not even going to investigate further. The broken instruction is easy to replicate with a bit of self-modifying code. I kinda love 8 bit bare metal coding.