Oh, so here's the joy of using MAME.
MAME hard codes the list of ROMs, their names, and their checksums/sizes, etc. And with each release things are added, changed, and rearranged.
Also, MAME ROMs are not standalone. They have parent/child relationships in the sense that the parent ROM has all the files it needs to run (maybe), and variations on that ROM will only include the files that changed. So for example, Pac-Man is a variation on the Japanese version Puckman. So the pacman.zip ROM can't run without the puckman.zip ROM being present. There's not really any good way to view these relationships. The windows-based MAME UI program has all that hard coded into it, so you need to find the version of MAMEUI that corresponds to the ROM set you have.
These relationships can change from release to release. The "maybe" I added in there refers to other ROMs that may be necessary, like for NeoGeo systems, they need the neogeo BIOS ROM. And for CPS2 systems, they have a qsound chip that needs the qsound ROM too. All of this changes from release to release as new hardware is emulated, or whatever.
So in summary, you really need the ROM set that matches the release of MAME you're using. Any old MAME ROM may or may not work depending on what ROM set it is from, what MAME version you're using, and what changed in the interim between those two releases.
MAME4ALL is based on version 0.37b5 of MAME, which is a particularly old release of MAME. But it has its reasons. Mainly, that is when fundamental changes to MAME took place that made it less suitable for lower powered systems. That's also the reason MAME4ALL is typically used on phones and other devices. Since it is a particularly old version of MAME, it also doesn't have support for everything that has been added in the interim.