The issue isn't the control. you need to leave your G53 Z at 0.
When you do a set Z this changes that.
Your ATC will crash with the Z home changed.
If you are calling for (and using) G54 make sure you set the X,Y and Z zeros within the G54 offset on the offset tables.
Try inputting your offsets by typing DF in the command line and using option 4 (I think).
I believe you will need to start using tool length offsets if you want to do multi-tool programs as well.
Start and end headers are important - here is a sample for you to look at, as far as start/end code goes.
%
N1 O9 (ENREW)
N2 G0 G40 G49 G80 G90 G17
N3 (SCREW ROUGHING 1 - .5IN 4FL BALLMILL)
N4 T8 M6
N5 G0 G90 G58 X-11.87 Y0 A0
N6 S1240 M3 M8
N7 Z8.145 H8
N408 G80
N409 M5 M9
N410 G0 G90 H0 Z0
N411 E0 X0 Y9.9 A0
N412 M30
%
www.integratedmechanical.ca