Considering that as a solution people would go for, since 3.1.8 (I think)
CitrusSoundInstance has a static variable called startPositionOffset which will start all sounds at a certain position (in ms) , it will also loop (whether using normal flash looping or event based looping) from startPositionOffset to the end instead of going back at the start.
I'm not sure whether that actually works or not, but with some mp3 that do have a silent beginning that should help. On a per game basis, and considering you've encoded all your mp3's with the same encoder for that game, you can figure out the silent part and set this CitrusSoundInstance.startPositionOffset value up. I've had good results, although that doesn't completely get rid of the gaps in all situations, it does help.
I'm just saying that so that if anyone wants to make use of what unsoundM, you don't have to hack into the sound manager to do so.