2misha - и тут тоже MVC не нужен, опять же стандартный вью. Максимум M+V. Не более. Я щас обстрагируюсь от того, что это меню и просто по коду буду править.

Код AS3:
public class Menu extends Sprite
{
public function Menu(): void
{
const control:Controller = new Controller(this)
}
}

Код AS3:
public function Controller(host:Sprite): void
{
_host = host;
_view.model = _model;
_host.addChild(_view);
}

Код AS3:
public function View(): void
{
addEventListener(Event.ADDED_TO_STAGE , onAdded);
}
private function onAdded(e:Event) :void
{
//app started
}
Это по организации кода.
Теперь о бредовых ошибках :

Код AS3:
public function Controller(rModel: Model): void
{
_model = rModel;
this.addEventListener(Event.ADDED_TO_STAGE, addPage);
}
public function Model(): void
{
_dostype = "guest";
_currentPage = Description;
this.addEventListener(Event.ADDED_TO_STAGE, addPage);
}
Ни один ни второй не DO. Поэтому событие Event.ADDED_TO_STAGE у них недоступно. В ините моделе подписки не делаются, в ините контроллера - можно.
Дальше просто не стал читать, пока разбиритесь со структурой