Hi, Dzackman
If your steps per values are 509 per inch and you have an error of .002 per unit, Then on a 20 unit move of your axises error could be .040 just with that may be why the large outside profile is shifted sow much and the inner profile cuts look closer to what thy should.
On your stepper controls see if theirs a micro step by 10, That would give you a steps per value of 5090 or so giving you the ability to calibrate your axises more accurately.
If you used the center of the part as the origin 0,0 point then the errors would be distributed from side to side up and down, See pic's.
Just some more thoughts, Chip