Ok, I think I know what my problem is now. It's because I'm using the XboxDrv software to override the inputs when I load certain systems. When I first started using it, it was my understanding that I could use configure settings to load on-demand as needed whenever I wanted to use a different controller. For instance, when I play a Sega Genesis game, it detects I'm loading that system and runs an additional driver to let me use my 6-button Pad and the MayFlash adapter. It does this as part of the runcommand-onstart.sh. When the gaming session ends, it unloads the driver. Apparently the problem comes from it ALWAYS loading the driver, rather than only when I connect a controller to it. I discovered this by testing the various controllers after moving the Xbox Dongle to the Pi's USB Port 0. I can replicate it every time, with the controllers I have configured.
The NES system is configured to use an NES controller. So when I try to launch and NES game, RunCommand is looking for input from that controller only. When I connect a controller to that port, I can now access the RunCommand window. The same is true with Sega games. I can only access the RunCommand windows by triggering it from a controller connected to that port.
In both scenarios, the Xbox Controller works fine in game and in RetroArch. But I can't navigate RunCommand with it. In fact, I can't navigate RunCommand with anything other than the keyboard on any systems I have configured with XboxDrv. I don't have a configuration for SNES, so when I'm using my Xbox controller, everything works like it should. I can trigger RunCommand and navigate with the Xbox controller jut fine.
I think I need to go back through and examine my runcommand-onstart.sh settings. I might be able to get it working by adding an Xbox controller configuration to the settings.
runcommand-onstart.sh
That's my current settings.