What is your renderer software?
JRiver
It seems I'd gone about playing on remote devices the wrong way. I'd assumed DNLA was the answer to the problem and it could "encapsulate" a media file, send it over a network and deliver it intact to the other end for processing and playing. I don't know how it does work, but it doesn't seem to work that way. It seems to only support certain formats and 'down convert' things it doesn't understand.
In my case I had JRiver playing to JRiver configured as a DNLA renderer, it was sending FLAC files and playing MP3s :-(
Following yet more useful advice from
mwillems I should really be using JRiver server client library sharing and get my JRiver renderer to map the same drive letter to my shared media files on my MC. This I have done. I can now play from my renderer directly rather then trying to get my MC to send the files to the renderer. I now get FLACs playing as FLACs. Result.
Would I have been stuck if I'd installed linux on my renderer and used JRiver for Linux. . . . I wouldn't be able to 'map' a drive letter back to my shared media library on my windows based MC. . . If that's the case how does the ID work?
Spike