Похоже на то, что tween работает на таймере, а в обработчике используется
updateAfterEvent().
Добавлено через 6 минут

Код AS3:
import flash.display.Shape;
import flash.utils.Timer;
import flash.events.TimerEvent;
var shape:Shape = new Shape();
shape.graphics.lineStyle(1.2);
shape.graphics.drawCircle(0, 0, 50);
shape.x = 100;
shape.y = 200;
stage.addChild(shape);
var timer:Timer = new Timer(16);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
var step:Number = 3;
var right:Number = 480;
var left:Number = 70;
function onTimer(event:TimerEvent):void
{
shape.x += step;
if (shape.x >= right)
{
shape.x = right;
step = -step;
}
else if (shape.x <= left)
{
shape.x = left;
step = -step;
}
// эта заветная строчка делает все плавным
event.updateAfterEvent();
}
Открываем Flash IDE, в первый кадр вставляем этот код, и для пущей убедительности до неприличия уменьшаем fps в настройках (например до 12).