I made a little progress. The issue is with an M code. M1105. When I execute it from MDI it sets the work offsets to X1Y1, but when I run it from the editor it works fine. I ran into this before where I changed an M code and even though the correct version always came up in the editor, M4 wouldn't let go of the original version. I had to copy the code to a new M code that had never been used. Probably have to do the same here, unless there is a way to let M4 know that it needs to let go of the old version.
I think way back when I first started messing with M4, I wrote some M codes to test the waters. This was one of them. I wrote one to apply an offset (M1105) and one to set the offset back to zero (M1106). I've since re-wrote both of those M codes. M110 works great, but M4 won't recognize the changes to M1105.