switcher!, Круто!!! Не знал что свойству name можно задавать значение... век живи - век учись.
вот тогда самая динамичная версия кода (все ссылки на таскаемый объект в e.target):

Код AS3:
//объект который будем таскать:
var cont:Sprite = new Sprite();
//рисуем тут кружочек
cont.graphics.beginFill(0xFF0000);
cont.graphics.drawCircle(30, 30, 30);
cont.graphics.endFill();
//добавляем слушатели нужных событий:
cont.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDOWN);
cont.addEventListener(MouseEvent.MOUSE_UP, onMouseUP);
//добавляем в список отображения
addChild(cont);
//обработчик понятно для чего
function onMouseDOWN(e:MouseEvent){
e.target.name = e.target.x + " " + e.target.y;
e.target.startDrag();//начинаем движение...
}
//еще один:
function onMouseUP(e:MouseEvent){
e.target.stopDrag();//останавливаем движение...
var lastX:String = e.target.name.substr(0, e.target.name.indexOf(" "));
var lastY:String = e.target.name.substr(e.target.name.indexOf(" ")+1, (e.target.name.length) - (e.target.name.indexOf(" ")+1));
//выводим наглядное сообщение:
trace("X был "+uint(lastX)+" стал "+e.target.x+"\nY был "+uint(lastY)+" стал "+e.target.y);
}