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.