вы используете "ENTER_FRAME" что зависит от частоты обновления экрана.
что если так:

Код AS3:
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.utils.getTimer;
import flash.utils.Timer;
public class TestMove extends Sprite {
public function TestMove() {
if (stage) ADDED_TO_STAGE();
else addEventListener(Event.ADDED_TO_STAGE, ADDED_TO_STAGE);
function ADDED_TO_STAGE(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, ADDED_TO_STAGE);
// start point
var xPos:Number = 100;
var yPos:Number = 100;
var tf:TextField= new TextField();
tf.text = "Clic me!";
tf.autoSize = TextFieldAutoSize.LEFT;
tf.setTextFormat(new TextFormat("Arial", 28, 0x808080));
tf.x = xPos;
tf.y = yPos;
addChild(tf);
var speed:Number = 10;
var delay:Number = 10;
var move:Boolean = true;
var la :Number = getTimer();
var timer:Timer = new Timer(delay);
timer.addEventListener(TimerEvent.TIMER, function (e:TimerEvent):void {
tf.x += speed + (la - getTimer()) * .1;
if (tf.x >= stage.stageWidth - xPos) tf.x = xPos;
e.updateAfterEvent();
la = getTimer();
});
stage.addEventListener(MouseEvent.MOUSE_DOWN, function(e:MouseEvent):void {
if (move) timer.start(); else timer.stop();
move = !move;
});
}
}
}
}