What should happen with Mach3 threading, is the tool moves to the start point, it then waits for the spindle speed to stabilise, and then the threading move should synchronise with the spindle pulse.

However I did just remember, if Mach calculates that the axes can't respond quick enough to the spindle speed for the given move, then motion will just hang. It could be worth dropping the spindle speed down a good bit, and re-running the code.