Слепил следующий головняк, в кратце:
Приложение в контакте Main.swf. c дополнительным модулем Game.swf
Для "общения" модулей написал свой класс события

Код AS3:
package App{
import flash.events.Event;
public class GameEvent extends Event {
//Описываем используемые классом TetrisKernel типы событий
public static const MJ_GAME_START:String="onMJGameStart";//начало игры
public var MJ_levelData:XML;
//Конструктор события
public function GameEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
public override function clone():Event
{
return new GameEvent(type, bubbles, cancelable);
}
public override function toString():String
{
return formatToString("GameEvent", "type", "bubbles", "cancelable", "eventPhase");
}
}
}
В классе модуля Game.swf генерим необходимое событие:

Код AS3:
public function aPlay(E:MouseEvent):void {
............
//Создаем и посылаем событие----------------
var myEvent:GameEvent=new GameEvent(GameEvent.MJ_GAME_START);
myEvent.MJ_levelData = new XML(dataBase.resultList);//передаем данные
dispatchEvent(myEvent);
}
В классе модуля Main.swf ловим данное событие:

Код AS3:
.....
MJ.addEventListener(GameEvent.MJ_GAME_START, aStartMission);
....
public function aStartMission(e:GameEvent):void {
....
trace(e.MJ_levelData);
....
}
Вся эта конструкция без проблем работает из контакта и локально, НО, когда я запускаю базовый модуль Main.swf в Adobe Flash CS4 а Game.swf подкачиваю с сервера контакта то в строке диспетчеризации события GameEvent возникает ошибка
TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать App::GameEvent@184022a9 в App.GameEvent.
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at App::MissionForm/aPlay()