QUOTE
I am all for APEv2 tags in mp3 files, and agree with others 100% who have implemented it, this problem only comes about because of older software that has not caught up with this new standard, unfortunately mp3 is getting long in the tooth and companies / developers are lazy to implement it.
If somebody develops a somethins new, he must throughtly analyse the interaction of new technology with the existing ones, and be sute that it AT LEAST not to corrupt any previous. I.e. adding new tagging scheme would take this essential steps:
0. Think if it can be done using pre-existing technologies only (fully backward compatible). so the old tag will be readable by new programs, and the older programs will read new tag.
1. Think if it can be done in forward compatible way. (addind tracknum in ID3v1.1 tags), so the old tag will be readable by new programs, and the older programs will read new tag except for new feature added.
2. ...If two previous are impossible or inappropiate, then new tag should at least not to interfere with the old tagging scheme in any way, so the any program with proper old technology support can read or write old tag perfectly, without any knowledge of new tagging scheme.
Current inplementation of APEv2 breaks the ID3v1 TAG detection mechanism. ID3v1 is the most widely supported and used tagging scheme for MP3. So in no way new tags MUST NOT affect the programs supporting only ID3v1 (Rule#2)
I.e. old programs should not need for recompile to work with (file with both versions of tags) flawlessly.
Examples:
ID3v1 is forward compatible to MP3
ID3v1.1 is forward compatible to ID3v1.0
ID3v2 does not interfere with ID3v1.x
[one from beginning, other from end]
ID3v2 is forward compatible to MP3
[because it uses syncsafe integers (and) unsynchronisation scheme to prevent false syncs which could interfere with old MP3 decoders. MP3 standard allows arbitrary data _without_sync_patterns_ before and after the audio frames AFAIK less than ~8kb]
APEv2 _interferes_ with ID3v1
[because informal standard for ID3v1 says that if three bytes from 127byte from the end of mp3 are "TAG", file have an ID3v1 tag. APE does nothing to prevent this]
I dont know if APE is forward compatible to MP3 by my definitions

[some string length could produce sync patterns, which is not allowed by MP3 standard]

))
IMO it is what about developers should think, and not about the complexity... One could not just take tag format X from audio format Y, and apply it to audio format Z...