Not sure, but I think the problem is having the G0 on the same line as the G53.
A G53 command IS a move command, no G0 is required.
The presence of both a G0 and a G53 in the same line raises the question of which the parser will try to execute.
Even if both were to try to execute, where does the G53 get its X,Y, and Z values?
Update edit on above: After digging out my copy of Peter Smid's "CNC Programming Handbook", I do see examples of G53 and G0 on the same line. Now I am confused. He does state that G53 does not cancel work offsets but only ignores them and tool offsets for itself and only for the one line that included the G53, i.e. G53 is non-modal.
He also states that G53 is always absolute mode.