Если задержка на пару кадров Вас не пугает, можно спросить два раза currentframe и сравнить. Вот рабочий код

Код:
var ListArray:Array
_global.control = new Object ();
AsBroadcaster.initialize (control);
_global.listing = new Object ();
AsBroadcaster.initialize (listing);
MovieClip.prototype.doInit = function () {
listing.addListener(this);
delete this.onEnterFrame
};
MovieClip.prototype.onEnterFrame = function () {
this.doInit ();
};
mc.check = 0
mc.onRelease = function () {
if (!mc.check) {
FindPlayed();
} else {
control.broadcastMessage ("play");
}
mc.check = !mc.check;
};////////////////////////////////////////////////////////////////////////////////////
function FindPlayed(){
rec = true;
mc.onEnterFrame = function(){
if(!rec){
for(v=0; v<ListArray.length; v++){
if(ListArray[v].cf != ListArray[v]._currentframe){// этот ролик играет!
control.addListener (ListArray[v]);
}
}//trace('Записалось клипов: '+control._listeners.length);
delete this.onEnterFrame
control.broadcastMessage ("stop");
};
if(rec){ //trace('Всего клипов: '+listing._listeners.length);
ListArray = listing._listeners;
for(z=0; z<ListArray.length; z++){
ListArray[z].cf = ListArray[z]._currentframe;
};
rec = false//запись сделана
};
};// end onEnterFrame
} // end Find Played
---------------
2 iNils : впереди на лихом коне

Классно, я много узнал нового, возясь с твоим кодом. Только знаешь, delete this.onEnterFrame из прототипа похоже не работает
