What kind of stepper driver are you using? i.e. Gecko or a Chinese unit? I have a Gecko 540. Chinese TB6550 steppers do strange things and most never work right or fail all together.
I'm out of suggestions. I'm convinced something in your Mach or ESS setup is not right. I have a old clunker Dell 6400 running XP home addition, 2gig memory... Mach V0.62. My ESS setup for 1khz data rate, 32Khz for steppers, precalc of 2000 and my system works without any issues. When I first started using ESS with the default setting of 4Khz I would get a out of data error after 20 or 30 lines of code especially with long x and y axis movement.
Pressing Mach "STOP"... x,y motion stops instantly, Z retracts to home, VFD shuts off. G-code stops at the line the STOP command was issued. Then doing a "Run From Here" ---> "Start", it continues right where it left off. No ESS errors. I've run 3D Aspire files of 180,000 lines no problem.
Feed Hold function in Mach 3 is a broken function and dangerous it should be fixed or removed. Maybe one of these years ArtSoft will have a version of Mach 4 where Feed Hold and CV actually work.
The definition of insanity is doing the same thing over and over and expecting a different result. - Albert Einstein