That cracked it.
I got rid of the unison switch jumper that wasn’t being used and the “one key-all channels, most of the time” bug resolved. MidiOx shows notes cycling channels as desired. Big thanks there.
Turns out another big part of the problem was only the first FM channel of the Genesis sounds after initializing. I don’t have all forty-some knobs set up just yet to use with the main code, so I used a customizable software dashboard in FL Studio on each individual channel through GenMDM’s USB-C to get them all sounding, after which the Genesis played with flawless polyphony through its MIDI interface. Success!
A side note: I’m after a six-note polyphony Megadrive synth as opposed to the five-note poly Sam went with. The GenMDM Midi CC list states the sixth FM channel doubles as the “ugly as fudge” DAC channel and they include a switch to toggle between the two (CC #78). It’s on DAC by default, so a switch is necessary to access the sixth note.
I included this switch in my software dashboard, so now, after updating Juha’s code to include six channels, I’m sitting pretty with six voice poly.
The next trick is squeezing the sixth channel into the main code and prototyping a few controls to confirm they work. Not sure why Sam didn’t go for six poly. Maybe he has an older GenMDM that didn’t have the switch, or maybe there’s something I don’t know about D13 on the Nano. I shall report back when I’ve had a go at it.