Но ведь у вас в MainEvent нет константы CHANGE_STATE,

Код AS3:
public class MainEvent extends Event {
protected var $data:*;
private static const CHANGE_STATE:String="change_state" //<------
public function MainEvent(type:String, data:* = null, bubbles:Boolean = false, cancelable:Boolean = false) {
$data = data;
super(type, bubbles, cancelable);
}
и правильно вроде будет

Код AS3:
this.addEventListener(MainEvent.CHANGE_STATE, onChangeStateNeeded);