This topic is a little dated so I was wondering if it is still true that MAME does not accept DirectInput by default and that a re-compile is required to make that change?
I just purchased Xpadder with the hope of using Xbox 360 gamepads as my 3rd and 4th player controls in MAME. Unfortunately I can't seem to get it to work with MAME. Finally I came across this thread. I am using the GameEx Xpadder plugin and I was able to successfully test that the plugin works with the GameEx interface (I configured a controller button to skip to the next song) so I'm pretty sure MAME is the problem I'm having. Off the top of my head I don't know what version of MAME I'm running, but I downloaded it around August 2012 timeframe.