this type of question comes up a lot.
the answer is no one really knows if a rom set today will work tomorrow.
Here's the deal: A guy with an arcade board dumps all the roms on his boards and sends them to a mame developer.
Mame developer writes the code to emulate the roms, gets the game working, everyone is happy, a mame version is released that supports that game at that time.
sometime in the future...
it is discovered for whatever reason, that one of the roms dumped by the original guy was corrupt, or tweaked somehow, or possibly even missing altogether. A new dump of it is obtained, and all the internal MAME checksums are updated and a new MAME release it sent out. Your old rom collection is now out of date with the new mame.
Or, someone realizes that "hey, the color palette of this game is actually controlled by this device over in the corner of the original board". no one dumped that bit of logic, so now something is missing from the rom set that that game needs. Mame is updated, your rom set is now out of date again.
I've seen games be stable across dozens of releases of mame, then a new MAME is released and all of the classics, which you'd think were "done" suddenly don't run until you update 1 tiny file in all of them.
mame will tell you what's wrong, you find that one file, and then you're set again for the next few years. After you locate the new rom set, you may not even ever notice a difference in gameplay, but behind the scenes, the game is more *accurate* than it was before, and that's the important part.
As we learn more about how the original hardware was used, the mame code has to evolve with it. it's a moving target.
Luckily, there are programs like CMPRO which can help rebuild sets of roms and match whatever it can against MAME's internal database of needed roms. If you also stay on top of keeping your collection up to date when there are new releases, it's not that much work.