I assume you would have noticed this, but do the shapes you're cutting appear on the mach3 preview screen correctly (in other words, check that the g-code is not to blame).
If you write a short little program that just moves the x back and forth and use a dial indicator or just make some reference marks somewhere, does it always come back to the same point? If it is repeatable, start reducing the feedrate. Go really low, like 0.1ipm. See if it starts having problems moving correctly. If so your parallel port probably can't source enough current to drive the G540.
CNC mill build thread: http://www.cnczone.com/forums/vertical_mill_lathe_project_log/110305-gantry_mill.html