One way you can possibly get this is if you do not use M30 at the bottom of a program...I think... or if you stopped the program part way through. This could result in the older entry being the one that was still in some memory location.
Do you have a 'safety line' at the top of the program that includes a G40 to make sure tool comp is cancelled when a program starts?
See if you can repeat what happened. I have sometimes had inexplicable things occur and have not been able to repeat them. My conclusion is that gemlins exist .
EDIT: gremlins do exist, obviously and gemlins.