I was using Mach3 via my CSMIO IP/M. However, CV or exact stop was not relevant here because for my test pieces I was typing gcode directly into the MDI window and just taking straight cuts. For testing, I fixed a blank to the spoil board and took a straight cut down each side. I moved the cutter sideways by a standard amount (54mm in this case) between cuts. I was taking very light cuts so do not believe that cutter deflection was an issue. What I expected to measure between the cut faces was 54mm minus cutter diameter. I actually measure 54mm minus cutter diameter plus about 0.4mm.

I do not believe that it is machine calibration error as I did these tests immediately after doing a gantry squaring test. This involved drilling 4 holes at the corners of a 100mm square, putting the shanks of new drills in the holes, and measuring diagonals. However, as a cross-check I also measured the sides of the square (all four sides) and saw consistent and accurate measurements to generally better than 0.1mm.

I was using cutters from a couple of UK sources. The own-brand 3mm cutter from CNCRouterShop is quite old now but my old router had so much play in every joint that I could never work to this kind of accuracy, so can't tell if it was like it from new. The 4mm and 6mm cutters are own-brand from Regal and are brand new.