Как вариант, решение по управлению flow переложить на плечи контроллера.

Код AS1/AS2:
var flag:Boolean = false;
function controlUIButton():Void {
switch (arguments.caller) {
case sendButton.onRelease:
trace('sendButton.onRelease occured');
if (flag) {
trace('Рано нажимать!')
return;
}
flag = true;
this.sendData();
break;
case closeButton.onRelease:
trace('closeButton.onRelease occured');
break;
default:
throw new Error('Unhandled dispatcher');
}
}
function sendData():Void {
trace('send some data to somewere')
}
sendButton.onRelease = function():Void {
controlUIButton();
};
closeButton.onRelease = function():Void {
controlUIButton();
};