So far the consensus from everyone I have spoken to except this forum is that there is some sort of software bug in this machine.

It may not be an actual 'bug'. It may simply be a limitation of the hardware controller.
Very old CNCs had these great big PCB boards with hundreds of chips, just to do the most basic control. In effect, although they did not think of it that way back then, they were trying to build a limited-function CPU. Trouble is, some functions were just too complex for the hardware. I seem to recall that on some machines you had to pay extra for an extra PCB to implement the g2/g3 commands.

All this has been rendered obsolete by the use of a PC as the controller. It could be running Mach3, Mach4, UCCNC, LinuxCNC or several other PC-based programs. The huge difference is that with a modern PC, it is no trouble at all to have the SW run 6 axes synchronously. It's just software, running on a 3 GHz processor with 6 GBytes of memory!

We do have a similar problem with some of the external pulse engines from China. They try to emulate an ESS, but they miss out on certain g-code instructions. Probing is a notorious example.

Cheers
Roger