I am a little confused with the end of your program.
There is no "end of program" command or any return home command.
M5M9 is spindle off and coolant off and I don't see any Z or home moves.
I believe format 1 uses M2 for end of program.
Here is the end of 1 of my format 2 programs.
Should work for you as well if you change the M30 to M2.
I haven't tried it without yet but I believe the Z0 is not needed here either as the G28 is return home. But double redundancy never hurts anything)
N06028 M05M9
N06030 G91G28Z.0
N06032 G00G90E0X5.Y9.
N06034 M19
N06036 M30
%
www.integratedmechanical.ca