Нашел решение по данной теме. Все гениальное оказалось просто.
Решаем следующую задачу. Есть карта. Когда на ней нажимают кнопку и начинают двигать мышь необходимо двигать карту. На самой карте находятся объекты которые также реагируют на клик по ним мышкой и могут выполнять действие от выделения до обновления карты, это уже зависит от объекта.
Вот какое решение получилось в итоге:
Заводим значение
минимальноеДопустимоеСмещение - это чтобы не запускать движение карты когда мышка непроизвольно дернулась после нажатия, и логическую
флагДвижения. Объекты на карте отрабатывают свои клики как положено. Далее на самой карте фиксируем два обработчика для событий MOUSE_DOWN, и CLICK причем последний в фазе Capture

Код AS3:
addEventListener(MouseEvent.MOUSE_DOWN, hnMouseDownMap);
addEventListener(MouseEvent.CLICK, hnMouseClickMap,true);
в hnMouseDownMap будем сбрасывать флаг движения и готовить все необходимые механизмы для отслеживания движения

Код AS3:
private function hnMouseDownMap(e:MouseEvent):void
{
startX = mouseX;
startY = mouseY;
vMoving = new _Vector();
addEventListener(MouseEvent.MOUSE_MOVE, hnMouseMoveMap);
addEventListener(MouseEvent.MOUSE_UP, hnMouseUpMap);
}
Если далее при движении мыши будет зафиксировано смещение мыши больше чем наше
минимальноеДопустимоеСмещение то устанавливаем флаг
флагДвижения.
При клике по карте в фазе Capture отлавливаем событие и если было зафиксировано движение (
флагДвижения в истине) то отменяем распространение клика на потомков

Код AS3:
private function hnMouseClickMap(e:MouseEvent):void{
if (флагДвижения)
{
e.stopPropagation();
}
}
Вот наши потомки клик и не получили когда нам это не нужно. Если все необходимо делать на одном объекте то вполне можно применять вариант с таймером.
