Yep, I think our goals are the same. Just to show what happens, when calling storage.updatePlayCount, the last played date for the file is being set to the time the file ended playing and its counter for the number of plays is being incremented (if 80% of the file has been played). This way conditions like e.g. 'show all files haven't been played the last 3 months' or 'show all files having been played at least 5 times' can be set.
I always keep mlx up to date with the latest official release. As it's quite a hassle to merge the code, I won't keep it up to date with the trunk or beta releases.
The queue is being initialized when the PlayCountWatcher is being initialized. Every time a start playing notification is being received, it is being enqueued with the id of the resource and when it started playing. It's then being dequeued (using FILO) when done playing is being called.
For me the play lengths always works fine. You can try changing the mediainfo attribute for the renderer configuration you're using to see if it changes anything.
If you always wanted to have your most recent videos at the top of the folder in the ps3 or wished you could group all videos with the same genre in one folder, have a look at pms-mlx