There are a number of reasons things like this happens. Sometimes a ROM is dumped incorrectly, or partitially, and the emulation code is written to use what was available at the time. Then, when a more accurate dump becomes available, the emulator has to change, so there is now a disconnect between new ROMs and old software or vice-versa.
I think you can be assured that the newer MAME/ROM is certainly the better of the two, in respects to more accurate emulation, however, older versions can often play games at a better speed, so if you're willing to sacrifice accuracy to playability, then keep your old MAME and ROM sets handy.
You essentially need to get ROMs that are matched to the version of MAME you want to run. It's a pain in the cheeks, but not as dire as having to keep complete sets for every version-I haven't really seen THAT many roms that changed. YMMV.
-jeff!