Recibí tu mensaje...
   Cita:  
					Iniciado por rushtemple  s1 = new Sound();
...
s1.attachSound("cancion");
 
var sonido_actual = "s1";
var tiempo_actual = 1;
var ejecutando = 0;
 
Y en las acciones del Boton para pararlo:
 
on (press) {
eval("s1").stop();
ejecutando=0;
}
    La razón por la vuelve a ejecutarse el sonido es por que en el frame 1 se vuelve a crear el objeto y asignar el sonido.
Evita que se vuelva a leer el frame 1
Haz que tu animación empiece en el frame 2 (que solo se lea el primer frame una vez)  
primer frame
...
s1 = new Sound();
s1.attachSound("cancion");
s1.start();
... 
botón
...
on (press) {
s1.stop();
... 
último frame
...
gotoAndPlay(2);