Что же самое страшное в твоем примере? Например, у меня есть MyObject extednds DisplayObject (на самом деле extends DisplayObject нельзя, можно от других наследников DisplayObject). А вот в нем объявлен метод, например, moveTo(x, y). Такого метода, конечно, нет у DisplayObject и конструкция типа

Код AS3:
view = new cl() as DisplayObject;
view.moveTo(0, 0);
Вызовет при компиляции справедливый Error: нет такого метода у объекта с типом DisplayObject.
Что же, нам придется либо кастовать view к MyObject с проверкой результата приведения на null, либо... сама
суть такого инстанцирования неправильна.
Твой пример показывает скорее всего то, как
еще можно сделать, в обход проверки типизации в compile time. Такие случаи бывают, да. Например, ну, никак нельзя допустить вкомпиливания кода со всеми зависимостями в прелоадер. Тогда мы можем так поступить. И это осознанный шаг.