@rdm190
This problem really seems to defy all conventional wisdom, but before you give up, we don't we try mapping the controller directly from inside the RetroArch gui. If you're up for it, go to the RetroPie menu in Emulation Station and launch the 'RetroArch' listing. From there, go to 'Settings' and then 'Configuration'. Enable 'Save Configuration on Exit' and then work your way back and quit RetroArch. When back at Emulation Station, launch RetroArch again and go back to 'Settings'. This time, go to input and finally, 'Input User 1 Binds'.
Make sure the 'User 1 Device Index' is set to your controller and then look for a listing named 'User 1 Bind All'. Select that and you will then be prompted to move through a mapping process very similar to what was seen in Emulation Station. When you finish, work your way back to the first menu in RetroArch and select 'Save Current Config' just to be safe and then quit RetroArch.
Now, all that is left is to test a RetroArch emulator to see if the controller and mappings are recognized. Two things to remember, if this does work, is that it is simply sidestepping whatever mapping problem you are experiencing in Emulation Station and not resolving it. Also, these mappings are obviously only for RetroArch emulators. If it still doesn't work, there are a few more things we can try, but it'll involve a lot of backseat troubleshooting, as there is no obvious reason why you're experiencing these issues. In any event, I wish you luck.