Quote from NifflasThat's not a bug or an error. That's just logical and makes sense. Loading a sample is not instant, and MMF2's events are executed once every frame rather than magically perform the "play sample" action out of place exactly when the previous sample stop. Then, there's the soundcard latency too. If CT included the feature to play separate samples after each other without a delay in between, you'd have to specify what sound to play next before the previous sound has stopped playing, so the program can pre-load the sample and take all the things above into account too. Having an event doing it triggered by a sample's end is not possible by plain logical reasons.
That doesn't even make sense, given what people say. Apparently the gap is when you set a sample to loop, which means the sound is already in memory and essentially MMF knows exactly what's going to come.
And the workaround seems to be to use a "every x seconds" event to start the next sound after the duration of the previous, in which case MMF does not know what's going to come, and yet it's fine.
Why other games and programs can do it fine is because they precache the sounds / music. And so does MMF.