Учел все Ваши рекомендации и замечания,
alatar. Теперь чекбокс при первом вызове окна отображается правильно. Но onClear пока ничего не очищает, видимо, я не смог правильно написать обработку пользовательского события. Кажется я не обновляю массив в A, хотя посылаю событие из B.
Вот мой код класса для пользователского события

Код AS3:
package events {
import flash.events.Event;
public class BEvent extends Event {
public static const B_STRING:String = "Selected Items";
public var arrayOfBEvent:Array;
public function BEvent(type:String, arrayOfBEvent:Array) {
super(type);
this.arrayOfBEvent = arrayOfBEvent;
}
override public function clone():Event {
return new BEvent(type, arrayOfBEvent);
}
}
}
Вот что пишу в файле B

Код AS3:
import events.BEvent;
<mx:Metadata>
[Event(name="b_event",type="events.BEvent")]
</mx:Metadata>
private function onClear():void {
UIUtils.showMessage("Clear!");
UIUtils.removePopUp(this);
for (var i:int = 0; i < 9; i++) {
changeArray[i] = false ;
}
var bEvent:BEvent = new BEvent(BEvent.B_STRING, changeArray);
bEvent.arrayOfBEvent = changeArray;
dispatchEvent(bEvent);
}
В файле А

Код AS3:
import events.BEvent;
linkToB.addEventListener(BEvent.B_STRING, changeSettingsArray);
public function changeSettingsArray(event:BEvent):void{
arrayInA = event.arrayOfBEvent;
}