I've finally figured out the source of my problem, but I don't know how to fix it. The version of the mame.exe that comes when you download MAME does not allow direct input which means I can't use Xpadder and my 2 gamepads for controllers. However a long time ago (so I don't remember exactly how I did this) I recompiled my own mame.exe to allow direct input. This makes the controllers work, but it also makes MAME recognize both of my spinners as 1 device.
So, I either need to figure out how to create a version of mame.exe that allows for both situations, or I need to configure my frontend to use the different versions of mame.exe based on the game I'm playing (I don't want to go this route if I can avoid it). By the way I'm using MAME version 0144.