The last time I updated my mame version, a lot of my roms weren't compatible and I had to find new roms. I don't understand how that works. I thought the roms were dumped from the original hardware, so why are the roms not a constant?
Some older dumps were not-quite accurate so those have to be properly redumped.
Sometimes a previously un-dumpable MCU is decapped and decoded to replace MAME Devs' best guess on how it worked.
Sometimes a new variant is found that causes a change in the ROM naming conventions.
- For example, the US version of Gondomania was dumped in early 1999. The World version wasn't dumped until 2018. Since MAME usually uses the World version of a game as the parent ROM for a driver, the US version ROM was renamed to "gondou" and the World version ROM was named "gondo".
It has been many years since I've gone through this process, I don't remember how it works. I guess there is no simple fix other than starting from scratch with a newer version.
Depending on your system configuration, you might be able to run more than one version of MAME.
A small step from v0.150 to v0.152 should be fairly painless. Sometimes you can find update ROMsets that have just the ROMs that changed between versions.
If you decide to take the big leap to a recent version, many people find it easier to
first find a known-version set of ROMs, BIOSes, devices, and desired CHDs
then download the matching version of MAME.
Scott