Credo perchè scritto in quella forma lo swf viene caricato al load e in seguito visualizzato sullo stage, quindi una volta che premi il pulsante in effetti lo swf che era stato caricato in precendenza anche se non visualizzato "addChild(loader)" ha avuto il tempo di terminare la sua animazione, quindi prova così
codice:
var loader:Loader = new Loader();
picture_btn.addEventListener(MouseEvent.CLICK, carica);
function carica (event:MouseEvent):void{
loader.load(new URLRequest("pagina.swf"));
}
addChild(loader);