Побаловалась с идеей:

Код AS3:
stage.addEventListener(MouseEvent.MOUSE_DOWN, onClick);
stage.addEventListener(MouseEvent.MOUSE_UP, onClick);
stage.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent) {
var moving = false;
if (event.type == MouseEvent.MOUSE_DOWN) {
moving = true;
}
if (event.type == MouseEvent.MOUSE_UP) {
moving = false;
}
if (!moving) {
trace("Ухты!");
}
}
Получается, что отпускание отменяет зажатие - и остается чистый клик.
Отсюда появилась извращенская идея с массивом отметок событий... но идея не сработала.
Параллельное выполнение... такое параллельное...
Нужно не только перекрыть MOUSE_DOWN, но и клик по окончанию перетаскивания - то есть перекрытие в обе стороны.
Вот как его реализовать - все еще без понятия...