I decided to have a proper look into this for you, now I had a bit more spare time . I think I've got a solution that works, thanks to the opm code (thanks, guys!). This assumes it works for you though, Acca :P. I'll email you the edited script, but below is what I changed to get it in working order:
local.master aliascache accaradio sound/loop/FrenchSongs.wav soundparms 0.75 0.0 1.0 0.0 20 75 auto loaded maps "dm obj dm/loop"
I used 'auto' channel and 'loaded'. Auto channel always plays if possible and doesn't override any sounds. I also changed the volume, min and max distance as well. Don't worry about it looking too low, as it works fine with the loopsound code. You can modify them though if you don't like the result.
$speaker forceactivate
$speaker loopsound accaradio 1.0 levelwide
This will allow it to play without any restarts as it doesn't have a cutoff distance. It does get quieter as you move further away, so much so that it can't be perceived, but the entity is still technically playing a sound. This is the hitch that comes with loopsound that I didn't know about until I discovered 'levelwide' as a valid argument by looking at opm. The float before it is just the volume, which is set to the maximum of the base volume set on the aliascache. I tested and all 4 speakers play the music and continue to do so no matter where you are on the map.