Here's what I think is happening: When you listen to a song all the way through on iTunes on a computer it saves information into an XML file of play count, etc.
On an iPod, it would try and make a smaller XML file of your favorites, what you've played, etc., but not everything (as to keep the file tiny) such as it would only list the Artist, Album, Song name, and Genre. When it doesn't put anything else in and iTunes on a computer reads that file, it has to give a value, so it just takes whatever value that is programmed (let's say x, you can try this on GCC) and prints it out. So if I type in int x; cout << x; x may be 10029342 - which on iTunes, its over a certain number so it prints out negative. or something like that. THat's how I think this is all coming up.