Ich kenne weder iTunes noch den Mediaplayer genau genug, aber:
Das Cover kann man im ID3-Tag einer mp3-Datei speichern. Da das Binärdaten sind, kann es dabei zu einer gewissen Bytefolge kommen, die der eines MPEG-Headers entspricht (beginnend mit $FF FE oder größer). Der ID3v2-Standard sieht für sowas eine (optionale) Unsynchronisation vor (d.h. die Daten werden nicht direkt geschrieben, sondern vorher werden alle "FF" durch "FF 00" ersetzt und müssen beim lesen zurückgewandelt werden). Das ist aber eigentlich nicht nötig, da der ID3v2Tag so gestaltet ist, dass man nicht verwertbare Teilinformationen einfach überlesen kann, wie z.B. ein Cover, was man nicht kennt. Diese "falschen Marker" FF FE sollten also eigentlich überlesen bzw. anders interpretiert werden, da man mit dem Abspielen eigentlich erst nach dem ID3Tag anfangen sollte. Das machen auch einige Player. Einige andere nicht. Welcher Player was macht, kann man rausfinden, indem man in den ID3Tag ein anderes mp3-File reinpackt.
Ich weiß vom WMP, dass er mit der neuesten Version des ID3Tags (Version 2.4) Probleme hat. Wenn man z.B. einen solchen Tag in der Datei hat, und mit dem WMP die Infos ändert, wird einfach vornedran ein weiterer Tag in der Version 2.3 geschrieben - ein Unding meiner Meinung nach.
Es kann nun sein, dass iTunes den 2.4er schreibt, der Mediaplayer den nicht erkennt, die Datei von Anfang an abspielen will, im Cover-Teil MPEG-Frame-Kandidaten findet und sich dann an denen verschluckt. Ne wirkliche Lösung habe ich nicht, außer den Mediaplayer in die Tonne zu kloppen
.