Thanks for the suggestion. Checked 3/4/6mm cutters and all make accurate size holes. Checked backlash with dial gauge - approx 0.05mm on X axis. Accuracy otherwise better than 0.01mm over 10mm (dial gauge range). Also used 6mm cutter to make two holes 150mm apart, push drills into holes and measure with vernier calipers - around 0.05mm errors. Tried moving gantry to include/exclude backlash just to make sure - no obvious issues. So happy with Mach3 "steps per" settings. Clamped block of MDF to bed and machined both sides and measured. Light cuts (1mm or so, DOC 4mm, 6mm cutter, so no cutter deflection expected). Comes out approx 0.3mm oversize.

So, not much backlash, spindle positioning good, cutters make true size holes. But machine does not make accurate cuts. Baffled.