I managed to find the answer to my own question, but it wasn't easy, so I'm going to post it here for other poor souls...
I started with my music files in C:\Music on a Windows PC, and an M3U playlist with path names like this:
C:\Music\KT Tunstall\Eye to the Telescope\04 Suddenly I See.mp3
I then moved my entire library onto the QNAP TS-101, which is of course a Linux device. The QNAP looks for the audio files in a shared folder called "Qmultimedia". I created a folder within that called Music (but that's just how I choose to organise things), so after a lot of testing and playing I updated the path names in my M3U playlist file to the following structure:
../Qmultimedia/Music/KT Tunstall/Eye to the Telescope/04 Suddenly I See.mp3
I put the resulting playlist into the Qmultimedia/Music directory, but even then my Roku Soundbridge wouldn't find the songs within the playlist. After much web-searching I found out it was because of incompatibility between the way that Linux wants to read the file that was created in Windows.
The answer was to use a web-based tool to carry out a command known as "dos2unix" conversion in the UNIX/Linux world:
http://www.iconv.com/dos2unix.htm
Upload your re-worked M3U file into this and it will convert it into something that Linux can read, which enables Twonky to serve it correctly from the QNAP device to your media player. However the converted file you get as a download is renamed to something like "25250.txt". If you just rename this back to what you need it to be, e.g. "Best of The Clash.m3u", it seems to work. Of course you need to do a re-scan in Twonky so it picks up the new playlists on the NAS drive.
Hope this helps others who might be having a nightmare with playlists, but I wish there was an automated tool out there. It goes to show how far we need to go before these systems become truly usable for the mass market.