This has always been a problem with older/slower machine controls and point-to-point programming.
It usually has everything to do with how fast the controller can process the data.
I'm not really sure if programming feed per tooth will make a difference.
There are a couple of things you can try.
1. Try turning the baud rate up as fast as you can until you get data transmission errors.
Then turn the baud rate down until you don't get any more errors.
This has no effect if you are able to fit the entire program on the controller hard drive.
2. In the operations manager, right-click on the operation name and you will see under Options a command for Filter.
This trys to reduce the number of moves by fitting arcs to the point-to-point data at the sacrafice of curve accuracy.
Most older controllers can process arcs much faster than a whole bunch of small linear moves.
If you and your customer can live with the reduced accuracy, this is probably your best bet on increasing feedrate speed.
Lastly, If these steps don't help, you will have to go back to your original toolpath and regenerate it at a reduced tolerance in order to reduce the number of moves.
A combination of reducing the original tolerance and filtering should give you optimal results.
You will have to experiment to see what works the best for you and your customer.
ObrienDave. MasterCam since V6. Gcode since 1983.
The nose you punch today may belong to the butt you have to kiss tomorrow.