Coded Tweens mysteriously abort

Hi there. I am working on a site where I have coded a number of different Tweens to shift between the menu states. The code works just great on its own, but when I then start loading external SWFs to populate the menu, things start acting a little funny. More specifically, on occasion, one of the Tweens does not complete as it should - it stops part-way and does not fire TweenEvent.MOTION_FINISH. Is there something I could be dong that interrupts the Tween? I am using the Loader class to load the SWF and I use the FLVPlayback class within the SWF - would either of these interfere with the Tweens?

It’s quite a frustrating problem. The first time I coded the whole thing I built objects on the stage and then animated them with code… when I ran into the above problem, I figured it could be a problem with my code and decided to redo the whole thing using a class for the menu. But this has the exact same problem - it works fine on its own, but not in conjunction with the external SWF I need to load in.

It doesn’t seem to be a problem with my tween code - since it works fine on its own - but just in case, here is my class:

package { 
    import flash.display.MovieClip;
    import fl.transitions.Tween;
    import fl.transitions.TweenEvent;
    import fl.transitions.easing.*;
    public class Panel extends MovieClip{
        
        public var panelX: Number = 0;
        public var tabHeight: Number = 30;
        public var panelHeight: Number = 475;
        public var panelWidth: Number = 250;
        public var fullWidth: Number = 770;
        public var tabY: Number = 0 - tabHeight;
        public var changeSpeed: Number = .5;
        public var currentState: String = "unselected";
        
        public function Panel (col:String,panelNum:Number) { 
            var mc = new MovieClip();
            mc.graphics.beginFill(col);
            mc.graphics.drawRect(0,0,panelWidth,panelHeight);
            addChild(mc);
            if(panelNum == 2) mc.x -= panelWidth/2;
            else if(panelNum == 3) mc.x -= panelWidth;
            
            
        }
        public function moveToTab () {
            if(currentState == "unselected") {
                trace(this);
                var mc_tween1: Object = new Tween(this,"y",None.easeNone,this.y,this.y-tabHeight,changeSpeed,true);
                var mc_tween2: Object = new Tween(this,"height",None.easeNone,this.height,tabHeight,changeSpeed,true);
                //var mc_tween3: Object = new Tween(this,"alpha",None.easeNone,1,.5,changeSpeed,true);
            }
            if(currentState == "maximized") {                
                var mc_tween1: Object = new Tween(this,"y",None.easeNone,this.y,this.y-30,changeSpeed,true);
                var mc_tween2: Object = new Tween(this,"height",None.easeNone,this.height,tabHeight,changeSpeed,true);
                var mc_tween3: Object = new Tween(this,"width",None.easeNone,fullWidth,panelWidth,changeSpeed,true);
            }
            currentState = "tabbed";
        }
        
        public function maximize () {    
            parent.setChildIndex(this,2);
            if(currentState == "unselected") {
                var mc_tween2: Object = new Tween(this,"height",None.easeNone,this.height,panelHeight,changeSpeed,true);
                var mc_tween3: Object = new Tween(this,"width",None.easeNone,panelWidth,fullWidth,changeSpeed,true);
            }
            else if(currentState == "tabbed") {
                var mc_tween1: Object = new Tween(this,"y",None.easeNone,this.y,this.y+tabHeight,changeSpeed,true);
                var mc_tween2: Object = new Tween(this,"height",None.easeNone,this.height,panelHeight,changeSpeed,true);
                var mc_tween3: Object = new Tween(this,"width",None.easeNone,panelWidth,fullWidth,changeSpeed,true);
                var mc_tween5: Object = new Tween(this,"alpha",None.easeNone,.5,1,changeSpeed,true);
            }
            currentState = "maximized";
        }
    } 
}

You can see a working version here: http://playwithyourmind.com/freelance/sam/panel_test.swf
and then the broken version here: http://playwithyourmind.com/freelance/sam/panel_test1.swf
… just click on the panels to switch between them

Thanks, any insights are greatly appreciated!