Instanced Movieclips Not Moving Across the Stage

Hello folks. I’m having a little trouble.

I’m making a screensaver where random characters in different positions and sizes walk/run across the screen. It seemed simple enough, and everything appears as they should. However, none of the Movieclips move forward on the stage.

Here’s the code on the first frame of the timeline, bolded lines are points of possible concern:

import flash.utils.*;

var timer:Timer=new Timer(5555);
timer.addEventListener(TimerEvent.TIMER, makeCharacter);

timer.start();

function makeCharacter(e:TimerEvent):void {
    var rand1:Number=Math.random();
    var rand2:Number=Math.ceil(Math.random()*2);
    var rand3:Number=Math.ceil(Math.random()*1200);
    var rand4:Number=Math.ceil(Math.random()*2);
    
    if (rand1>0&&rand1<=.5) {
        var df:MC_Dwah = new MC_Dwah();
        df.x=500;
        df.y=rand3;
        df.scaleX=rand4/1.5;
        df.scaleY=rand4/1.5;

        if (rand2==1) {
            df.gotoAndStop(2);
            **df.addEventListener(Event.ADDED_TO_STAGE, walk);**
        } else {
            df.gotoAndStop(3);
            **df.addEventListener(Event.ADDED_TO_STAGE, run);**
        }
        addChild(df);
        
    } else if (rand1 > .5 && rand1 <= .9) {
        var sb:MC_Semblii = new MC_Semblii();
        sb.x=500;
        sb.y=rand3;
        sb.scaleX=rand4;
        sb.scaleY=rand4;

        if (rand2==1) {
            sb.gotoAndStop(2);
            **sb.addEventListener(Event.ADDED_TO_STAGE, walk);**
        } else {
            sb.gotoAndStop(3);
            **sb.addEventListener(Event.ADDED_TO_STAGE, run);**
        }
        addChild(sb);
        
    } else {

    }
}
function walk(e:Event):void {
**    while (this.isOnStage) {**
        this.x+=20*this.scaleX;
        
        if (this.x==1700) {
            stage.removeChild(this);
**            this.isOnStage = false;**
        }
    }
}
function run(e:Event):void {
**    while (this.isOnStage) {**
        this.x+=40*this.scaleX;
        
        if (this.x==1700) {
            stage.removeChild(this);
**            this.isOnStage = false;**
        }
    }
}

And here’s the code found in each movieclip:

**var isOnStage:Boolean = true;**

With no errors to go off of, I’m unsure how to proceed. What could be missing?