I've moved this topic into our "SmartBOB Controllers" forum since this is (most likely) specific to the PMDX-422 and/or Mach4.
We need some additional information, including what version of Mach4 and the SmartBOB plug-in are you running and is your Win10 a 64-bit version (likely) or 32-bit version (rare).
You mention testing using M10/M11 driving "Output1", where Output1 is not assigned to a SmartBOB pin, and then assigning "Output1" to a SmartBOB pin. Are you using custom macros/Lua scripts to control "Output1"? I know of no built-in Mach4 function that will do anything with any of the "OutputX" signals.
When you are using the M3/M5 code to control the spindle on/off, what Mach4 output signal do you have mapped/assigned to which SmartBOB pin (for example, is it the "Spindle On" signal mapped to the SmartBOB "Pin1")?
I'd like you to create a plug-in debug log for us. The steps are outlined here:
http://faq.pmdx.com/content/3/3/en/how-to-capture-a-debug-log-file-and-send-to-pmdx.htmlAfter enabling the debug log, exiting and restarting Mach4, run your GCode file until it (presumably) crashes. Re-start Mach4, disable the debug log and then create the profile package as described in the FAQ. Post that here along with your GCode file (if it is OK for you to share it without exposing anything you may see as proprietary).
Bob