I think tagging should work like so:
MP3 should only use id3v1 by default. id3v2 should only be used if the v1 tag cannot store the information OR you are adding extra/advanced information that is NOT MJ specific. For example, if the song's title, artist, or album text is too long for v1, then use v2. Or if you want to add a tag like composer or guitarist. Fields like rating should never be tagged to a file since it only refers to one persons specific opinion, and MJ is the only player that has any use for a 1/5 rating scale, it should be stored in the internal MJ database only.
Replay gain should be stored only in the MJ database (not a MJMETADATA tag) IF the format has no standard for attaching the information to the file. OGG Vorbis does, and the standard RG_RADIO, RG_AUDIOPHILE, RG_PEAK tags should be used instead. MP|PLS| also has a standard way of storing RG data. I'd also like to see MJ be able to read these standard format replay gain tags.
Personally I really dislike the MJMETADATA tag being put onto file formats that have no need to use it. OGG, APE, and even MP3 with id3v2, support unlimited custom tag fields which would be the better way to do things. That way the info can be accessed equally by various software applications. Data that is specific to MJ (like rating) should be stored by MJ internally, in its database, not added to the file.
You should also be able to create, name and edit custom tags that are written to the file according to its spec (for formats which support this eg. OGG, id3v2 APE). The three custom tags and the MJMETADATA tag in MJ now just adds unneeded complexity to what should be a simple process. If you want to add a tag field called 'live' with a value of 'San Fransisco' to an OGG file for example, it should be written to the OGG in the same way and on the same level as the other tags like 'artist' and 'tracknumber'. No MJMETADATA!
Thank you!