Про startDrag не скажу, мне он не подходит.
Ну, вот давайте упростим до минимума:

Код AS3:
import flash.events.MouseEvent;
mc.stop();
mc.addEventListener(MouseEvent.ROLL_OUT, mcRollOut);
function mcRollOut(e:MouseEvent):void
{
trace("mcRollOut", e.stageX, e.stageY)
if(mc.hitTestPoint(e.stageX, e.stageY)){
trace("внутри", e.stageX, e.stageY)
}
}
Все тот две двухкадровый клип с привязкой по центру размером 100х100 лежит в точке (200,200);
Вопрос - будет ли выполняться traсe?
Ответ - да, при
медленном движении мыши.
Вот вывод при движении мыши вниз.

Код:
mcRollOut 209 250
внутри 209 250
А вот при движении вверх:

Код:
mcRollOut 194 149
mcRollOut 191 147
mcRollOut 185 148
149 - это максимальная величина (и для меня это ожидаемо).
По координате х - ситуация похожая.
Почему срабатывает mcRollOut в точке 228 250, если эта точка все еще принадлежит прямоугольнику?