Well a bit of troubleshooting and sure enough, I found some trouble :doh:
Z axis is running nicely, not too much noise and nice smooth motion from the stepper.
Y axis is rough, motor rotates but seems to be pausing (missing steps?).
X axis just vibrates and doesn't turn at all.
Tests run with the motor disconnected from the ballscrew showed the same symptoms.
Enough swapping of motor/cables has convinced me that the problem is in the controller. I've checked the Mach 3 settings and they are as per the documentation. Next step is to try changing the motor tuning. If the Z axis runs smoothly then the same motor tuning parameters should make the X and/or Y motor perform the same - unless it's the controller. (Corrections to my logic are most welcome)
The good news is that I found my G540 and a whole bunch of G250's so I can do some swapping if needed. (just need to find the resistors ...)
Off on a sailing weekend tomorrow (well actually road support while others sail) so won't be able to do more until Monday.