G1 Z0 to fool at-speed? Devious! I'll give that a try. M66 is an interesting idea too. I'll think about that.
Right now my solution is all hidden behind a perfectly normal looking M3, which is kind of nice. (Well, unless an M6 happens too quickly after the M3, as I've discovered....)
But first I have to do "just one more test carve" on a piece I want to take on vacation later this week...
I was reading about g-code remapping again just now. M3 isn't remappable, sadly, but I found that there's an available remap for M6 ("ignore_m6") which would avoid the bug that started this thread. So that's interesting, but not long term, since I might actually want to implement tool changes.
I also found that, while M3 isn't remappable, the S comand is. So there might be a way to use that.
M3 probably _could_ be remappable. It would just need the hooks adding to the code. After literally seconds of contemplation I can't think of anything that means it fundamentally couldn't be remapped if the code was modified to handle it.