I just noticed you posted this here too Chris.
Since I'm not a member of the Vectric forum where he posted it first I'll copy my reply email here as it does contain some good troubleshooting steps.
Hmm…problems like this can be tough as you have to find a way to track the issue to the machine or GCode. Since it sounds like it was consistently scaling everything in the Y-axis, instead of only screwing up one place (hesitating in one place), it is probably not an issue with loosing steps or something mechanical. That would leave a configuration problem (Mach) or a GCode problem.
Is it something you can replicate easily with a simpler drawing? If you start the router at 0,0 and then jog or use the MDI line to move the Y-axis close to the full range of travel does it go the right distance? If you can post the file/gcode on the Vectirc forum I bet they can go through it and see if there is a problem there.
I would probably try testing the router with a very simple gcode program, something that just made it do a series of rectangles and return to 0,0. If it returns to 0,0 then mechanically your probably in good shape and it is more likely a gcode issue.