Just run the following code:
G90 (set absolute mode) G0 X1.000 Y1.000 Z0.100 (rapid move to starting position) S100 M3 (turn on the spindle, 100 RPM) G33.1 Z-0.750 K0.05 (rigid tap a 20 TPI thread 0.750 deep) M2 (end program)
and watch the spindle button of axis or gmoccapy, the GUI will not notice the spindle reverse.
I think this is related also to the issue "G-Code not updated correctly"
Solution could be to update the spindle with linuxcnc.stat using the hal pins motion.spindle-reverse and spindle-forward, as these pin do what the should.
Norbert