Is there a bug that sometimes resets a track's number of plays to zero? Or maybe doesn't mark a track as played when it should?

Although most tracks get updated correctly, I've been noticing a lot of songs which have played recently and should be read "Plays: 1" but instead say "Plays: 0". (I only care because I have my player set to shuffle based on number of plays.) I know that skipping a track before the end prevents the number of plays from updating, but this is happening with songs that definitely played all the way through.

Does this happen to anyone else, and is there any way to fix it?