Вам надо определить - проигрывается ли в наастоящий момент данный звук.
1. Заведите переменную, которая выставляется в TRUE при первом запуске звука и в FALSE по onSoundComplete и при инициализации. Соотв
Код AS1/AS2:
if ( !звук_звучит ) myMus.start(0,0);
2. Почитайет про .position
Код AS1/AS2:
if ( myMus.position == 0 ) start(0,0);
НИкаких велосипедов и хитростей. Просто методжы класа и здравый смысл. А так, пока альфа у вас менье 30, а она меньше, звук у ас запускается каждый раз.