Let me show you where your assumptions are wrong:
- You've downloaded a set from the internet and think that it's right.
- You've downloaded a set and think that playability has something to do with auditing sets.
- You've downloaded a set and think that it matches the default cmpro settings out of the box.
So your part would be:
Learn about parent/clone relationships, how datfiles describe sets, ensure you know what type of set you've downloaded (so e.g. not checking romsets for MAME version .216 with a datfile for MAME .213), adjust the needed settings and scan.
Now to your concrete example:
After looking at your example (vs10yard sets) you could for example double check the MAME listxml output to see what's wrong:
Let's take for example the file with checksum 7d1b4d93
it's used by: 10yard85, vs10yard, vs10yardj, vs10yardu (all clones of 10yard) and in 3/4 sets it uses a different name and you don't have any merge attribute specified:
<rom name="yf-a-3d-h-vs.3d" size="8192" crc="7d1b4d93" sha1="9389de1230b93f529c492af6fb911c00280cae8a" region="gfx1" offset="4000"/>
<rom name="yf-a-3d-h.3d" size="8192" crc="7d1b4d93" sha1="9389de1230b93f529c492af6fb911c00280cae8a" region="gfx1" offset="4000"/>
<rom name="vyf-a.3d" size="8192" crc="7d1b4d93" sha1="9389de1230b93f529c492af6fb911c00280cae8a" region="gfx1" offset="4000"/>
<rom name="vyf-a.3d" size="8192" crc="7d1b4d93" sha1="9389de1230b93f529c492af6fb911c00280cae8a" region="gfx1" offset="4000"/>
Conclusion: You need it 3 times to make a correct auditing (in a merged set, in a split merged setup, you'd need it 4 times). That's the way it is, you can ask MAME devs if they update their source code so that they use merge attributes, but it won't happen since the file isn't part of the parent.
Now why does MAME work? Because MAME doesn't care about names. MAME loads files by searching your rompaths for checksum matches. It doesn't care if you got a file correctly named. And if a file is used multiple times, it doesn't care if you only have it once with a wrong name.
Welcome to the world of auditing. In the auditing world, you need the file several times because the datfile tells you so.
What you can do: Well, cmpro tells you, turning on fix missing would simply fix it for you automatically. It's one click away...