For posterior's sake, I figured this out. My custom mCode (M9999 in this case) to reboot the RPi is immediately shutting it down. DWC is still online long enough to process it as an unknown command since execonmcode doesn't return the call and reports unsupported.
It appears a method to reboot the RPi is being introduced in 3.3 (M999 B-1), so this will no longer be necessary.