Ok just done some more tests and now I get the axis travel time the same in both directions, things are still wrong however.
Ok first how I get the axis times the same was a clue I got from Jims code, I had noticed he only called the feed rate once, I had called it on each move. So what is happening is X moves to min and feed/rev has halved, previously I was calling F0.1 and then moving out again so CSS then reset the FPR as 0.1 and as the axis moved out then it doubled it as spindle slowed. With not calling the F0.1 again then the move was starting at F0.05 so by the time it got to X max it had ended back at the F0.1.
Now this is still totally wrong as what Mach is doing is keeping the velocity constant(FPM), when in FPR mode that should not be happening as it kind of defeats the purpose of using G95.
What should happen is the FPR stays constant and the velocity (FPM) increase with spindle increase or decrease with spindle decrease.
Hood