devinw,
I ended up making a custom m3.
This has some extra things in it for my machine but it might help.
Bill
function m3()
	local inst = mc.mcGetInstance()
	--Get Spindle On and Spindle Auto handles
	local hSpin = mc.mcSignalGetHandle(inst, mc.OSIG_SPINDLEON)
	local hreg = mc.mcRegGetHandle(inst, 'iRegs0/SpindleAuto')
	--Get spindle on state
	local SpinOn = mc.mcSignalGetState(hSpin)
	--Get Spindle Auto value
	local SpinVal = mc.mcRegGetValue(hreg)
	if (SpinVal == 0) then
		mc.mcSignalSetState(hSpin, 0)
		--wx.wxMessageBox('Spindle OFF')
	else
		if (SpinOn == 0) then
		mc.mcSignalSetState(hSpin, 1)
		wx.wxMilliSleep(5500)
		--wx.wxMessageBox('Spindle ON')
		end
	end
end
if (mc.mcInEditor() == 1) then
	m3()
end