Don't know if anyone's still monitoring this thread, but here's the solution I'm using.

I looked at Jeff Mock's server, but liked some of the work that had been put into the YARRS version. However, neither did what I need, so I re-mangled it all to suit my requirements.

I use iTunes (on a Mac in fact, but should work with Windows version) to encode and manipulate all the music (over 12K tracks). My server (linux/perl) then reads the iTunes XML backup file and serves all this data to any of the 4 Rios I have around the house. A nightly routine checks for any changes and rebuilds if necessary, including a complete list of m3u playlists that I use to drop onto Jemplode to update the RioCar with the same data.

This way I can keep everything up to date with the music and playlists I control via iTunes and it all seems to be working at the moment, although I couldn't guaranteee it'll never hiccup. Particularly if Apple change the Track IDs that iTunes uses as that requires a complete rebuild. Also, iTunes now changes the XML file whenever you play anything, so detecting changes is more convoluted.

Like the Mock original it uses symlinks to the actual music files, but creates them only as needed so a rebuild is much faster.

My aim is to integrate it all as much as possible with iTunes and so far I'm reasonably happy, but always looking at ways to improve. I'd really like the RioCar to emulate an iPod so I can sync directly from iTunes, but not really looked into that yet.