I think I have fixed it. I dry ran above the bed and the X was +10mm at the end(exactly 10mm) so I ran it again and it was +10mm exact. So in mach I tried slowing the feed rate by 20% and it ended up +20mm by the end.

Then I checked the motor tuning and increased the velocity from 1200 to 1500(My logic was that the max motor velocity wasn't fast enough to match the feed speed, this was a complete guess and I could be completely wrong). Then I changed the step and dir pulse from 14:5 to 10:3. I have no idea why it was at 14:5 as I have never set it there.

It now returns to the same spot perfectly so I will try another run tonight and see if it cuts properly :)

Thanks for the help.

Phil