there is an important difference when working with flex applications...where MXML and script tags are used. the framework includes a lot of abstract code that handles layout for the developer. so in order to add children to the flex display list ... you must put them inside a container...like vbox, panel, canvas, or any spark component. when programming with papervision however... you must also use the rawChildren property...like this
myCanvas.rawChildren.addChild( viewport );
this will allow you to use non native flex display objects to the flex display stack. hope this better clarifies what i am trying to say. i also hope i understood your question

K