I just wanted to add in a few comments about the firmware. It appears to use a central SQLLite db file to map all the directories, playlists, etc. This db file is created by the proprietary software on the pc, that is included on a cd-rom with the player. I think it is transferred/updated to the player when the unit is synced on the pc.
I was able to obtain a sample playlist (.pla) from iRiver support. It's a binary file, and I've attached a copy below (just rename the extension to pla...had to change it since it's not one of the allowed filetypes...). I tried to use a binary editor to modify this file for a couple of mp3's I placed in the Music directory on my E100, and I made sure to keep the header and footer of the sample file intact. However, while the E100 recognized the .pla file, it gave me an error saying it was empty.
Next, I found a playlist editor someone wrote for the Sansa e200, and that got me the same result (no need for tedious binary editing). I started modifying that program to the specifics of the E100 -- but in the end it won't work since the player will see the .pla file as 'empty'.
All I really want to be able to do with my E100 is create valid playlists without the proprietary Windows-only software included with the device. But hopefully this information will be useful as well to anyone willing to write a Rockbox port.