This issue is mostly caused by the fact that, in mame, there's no risk of having games with the same rom name, which is the field used to save tags and favourites. I don't think you'll have two games with the same rom name in the same system, but of course this can happen if you create a "collection" of games from different systems.
In my layout I tried to "fix" this issue by completely changing the way collection favs and tags are managed: when a collection is created favs and tags are not taken from the file of the collection, but from the source files of the originating romlist. So if you add a tag to Alladin for SNES it will edit the tag files of the SNES romlist, not the one of the collection. The collection will "collect" the data from each originating romlist. That's in my opinion how things should work: it doesn't make much sense to have a collection where tags, favs etc are completely disconnected from the original romlists.
That said, I think in your case you can use a trick like this: rename the rom file with the same name, so they won't clash in the tags definition. I think there is a way to add some detail toa rom name without interfereing with scraping, not 100% sure though...