так и должен..
в качестве эксперимента, такой вариант замены родному onLoad:

Код:
var music=new Sound();
var intervalID;
but.onPress=function(){
music.loadSound('file.mp3', false);
intervalID=setInterval(watchLoad,10);
}
function watchLoad(){
if(music.duration){
clearInterval(intervalID);
music.start();
}
}