Well, on second thought, never mind. Found the problem, as usual right in front of my face and didn't see it.
Mach assumes (reasonably) that zero RPM is at zero percent PWM output. For what ever reason (and I don't have a clue why that is, it just IS) the system I am working with requires about an 11% PWM cycle starting at zero RPM. I actually had the data down to 500 RPM, just never plotted it out and looked at it backplotted thru zero. Sure enough, its a straight line but it just doesn't go thru zero PWM = zero RPM, it has an offset in it.
Mach can't do that, so I am just going to set Mach to be correct at 2000 RPM (which is where about 95%+ of my G-Code runs) and make up a cheat sheet of RPM I want versus RPM I have to program into the G-code when I want some other speed.
Lousy choice, that's as good as it gets. I love computers.