Добрый день -
Недавно столкнулся с проблемой, что классы имплементирующие интерфейс,
загруженные с другого домена не воспринимаются главным приложением как таковые.
Например, имея класс в libs.swf:
( В библиотеке libs.fla имеется класс AchievementPanelGfx, у него проставлен base class -
gfx.base.AchievementPanelBase ).

Код AS3:
package gfx.base
{
import flash.display.MovieClip;
import flash.text.TextField;
public class AchievementPanelBase extends MovieClipElementBase implements ISkinElement
{
public var tAchiName:TextField;
public var buyB:MovieClip;
function AchievementPanelBase( )
{
}
}
}
Так вот, после загрузки главным приложением libs.swf, то получаем следующее
если libs.swf загружен с другого домена:

Код AS3:
var GfxClass:Class = getDefinitionByName( AchievementPanelGfx ) as Class;
var achiGfx:ISkinElement = new GfxClass();
trace( achiGfx ); // return is null
var a:* = new GfxClass();
trace( a is ISkinElement ); // returns false
trace( describeType( getDefinitionByName( GfxClass ) ) ); // содержит <implementsInterface type="gfx.base::ISkinElement"/>
При чём, если грузить libs.swf локально, то всё работает!