Simon.
You asked :-
"Does MACH3 turn the M3 & M4 output off again? I think I only need a 24v pulse to pull the changeover relay one way or the other."
As I understand it M3, M4, M5 are individually persistant on the assigned parallel port output pins, so say your G code sends M5 to stop the spindle, it stays stopped (active)untill an M4 or M3 is sent.
Ian