In my view, there are two important things to remember:
1) If you are not selling something using the code, or using it within a for-profit context, then it is non-commercial use.
2) Regardless of whether museums, etc. can use the code, the fact that MAME exists *is* serving a preservation function in itself.
That said, I kind of wonder about the preclusion against commercial use - especially as commercially owned ROMs are required to make it work.
I don't see that this is - or needs to be - an issue of contributors though. If BSD was used for the main bulk of the code, individual contributors could still provide components under separate - but compatible - licences. Then people who can and want to make use of the BSD parts will just have to check individual licences and seek rights for some components as appropriate.