Мда. С интерфейсом работает...
Господа, можно немного теории? В чем разница? Почему просто к классу он не может скастовать, а к интерфейсу может?
Вот что интересно:

Код AS3:
import test.*;
var obj:test.<b>Squareb> = test.Main(loader.content).getSquare;//ошибка

Код AS3:
import test.*;
var obj:test.<b>ISquare b>= test.Main(loader.content).getSquare;//нормально
test.Square(obj).alpha = 0.5;//при таком касте все ок!
Почему?