Ok TP I believe your code is PERFECT. I did a step by step to see what was going on and see something that is indeed skipping the G28. It is an error, dont quote me on this but something to the effect of "G28 and G30 not allowed with cutter compensation". I indeed do have a G42 being generated by my code. So I gotta try and find a way around that. But the error indeed specifically stated the error was BLOCKING the G28.1 Z.5" command.