For one audio element I would say the process would be:
- .pause() the element
- change the source
- .load() the element
- .play() the element
I doubt that setting time to zero is as important as stopping playback of the previous sound.
Looking at your code, it would seem that it should stop everything from playing. Dunno why it doesn't.
If it gets really confusing, try taking the code back to basics and building it up from there.