@Rich - I tried all that and all good.

@rcaffin - I thought you were on to something then because that seems to be exactly what is happening! But the diagnostics screen taper is set to "0.0000" However the program does not crash at all!
Let me outline exactly what is happening:
FirstOp.tap = a few general lathe operations, facing etc and towards the end cuts an 0.75 pitch thead using
G0 X9.95
G0 Z5
G76 X9.0 Z-21 Q2 P0.75 J0.04 L45 H0.04 I29 C1.0 B0.01 T0
PartOff.tap = parts off the part
1) Start FirstOp.tap
2) Run through program
3) Clean up threads with scotch bright
4) Run PartOff.tap
5) Goto 1
This works perfectly time and time again - however for no reason at all suddenly the G76 in the firstOp.tap program reverts to taper mode for about the first 5 operations and then SUDDENLY goes back to parallel thread mode. When it does this it jams the tool into the workpiece (moves to the proper parallel tool position for that iteration), waits for 2 seconds (ish) and then carries on normally (in parallel mode) as if nothing has happened and finishes the program properly. Without changing a single thing or restarting Mach3 (apart from the broken tool tip) I can carry on running the two programs perfectly again..... until randomly it does the same thing.
I have tried putting the two programs together, but it is the same. It also does it randomly also when doing a "regen" between programs or a regen between end of program and start.
So the program does not crash as such it just gets confused for a very short while, it is almost like it is reading values that are cached somewhere, then the cache gets updated and it resumes on the proper course.
One thing I am doing is swapping from G94 mode to G95 and back
thanks
Rimmel
EDIT******* I have checked the rpm when cutting the thread and it is VERY stable