Hola Null
Te felicito por lo didáctico de tu tutorial "ventanas flotantes con clases". Me salió a la primera porque estuve escudriñándolo bien antes de empezar. Cada línea de AS la escribí, sin caer en el perezoso "copia y pega". Realmente quiero aprender AS. No obstante, me encuentro con que se me abre la ventana, la puedo mover, la puedo minimizar y también cerrar. Lo único que no me sale es maximizarla. No sé si tengo un error en la ubicación del script, ya que tú vas por partes y luego, cuando lo pones completo, algunas cosas cambian.
Te ruego mires cómo lo hice:
class Vent{
private var _padre:MovieClip;
private var miVent:MovieClip;
private var path:Object;
private var n:Number;
private var h:Number;
private var w:Number;
private var ch:Number;
private var cw:Number;

function Vent(h, w, mc, titulo, padre, n){
this.n=n;
this._padre= padre;

this._padre.createEmptyMovieClip("vent" + n, n +1100);
this.miVent = this._padre["vent" + n];
this.miVent.createEmptyMovieClip("BarraSup", n + 1150);
this.miVent.BarraSup._x= 0;
this.miVent.BarraSup._y= 0;
this.miVent.BarraSup.onMouseDown = function(){
if (this._xmouse >= 0 && this._xmouse <= w && this._ymouse >= 0 && this._ymouse <= 23)
startDrag(this._parent);
}
this.miVent.BarraSup.onMouseUp = function(){
stopDrag();
}
this.miVent.BarraSup.attachMovie("BordeSup", "borde", n +1100);
this.miVent.BarraSup.borde._x= 0;
this.miVent.BarraSup.borde._y= 0;
this.miVent.BarraSup.borde._height = 23;
this.miVent.BarraSup.borde._width = w;
this.miVent.BarraSup.attachMovie("Titulo", "titulo", n + 1200);
this.miVent.BarraSup.titulo._x= 5;
this.miVent.BarraSup.titulo._y= 5;

this.miVent.createEmptyMovieClip("cuerpo", n + 1100);
this.miVent.cuerpo.attachMovie("Cuerpo", "fondo", n + 1300);
this.miVent.cuerpo.fondo._x= 0;
this.miVent.cuerpo.fondo._y= 23;
this.miVent.cuerpo.fondo._height = h-20;
this.miVent.cuerpo.fondo._width = w;
this.miVent.cuerpo.attachMovie(mc, "componente", n + 1400);
this.miVent.cuerpo.componente._x= 5;
this.miVent.cuerpo.componente._y= 25;

this.miVent.path = this;
this.titulo = titulo;

this.miVent.createEmptyMovieClip("vida", 1);
this.miVent.vida._padre = this;
this.miVent.vida.onEnterFrame = function(){
this._padre.Mover(this._padre.w, this._padre.h);
}
this.miVent.vida.play();

this.miVent.attachMovie("BotCerrar", "btn_cerrar", n + 2000);
this.miVent.btn_cerrar._height =14;
this.miVent.btn_cerrar._width = 15;
this.miVent.btn_cerrar._x= w-18;
this.miVent.btn_cerrar._y= 4.5;
this.miVent.btn_cerrar.onPress = function(evt:Object){
this._parent.createEmptyMovieClip("death", 1);
this._parent.death.onEnterFrame= function() {
this._parent.path.Recoger(this._parent.path.w, this._parent.path.h);
};
this.miVent.death.path = this._parent.path;
};
this.miVent.attachMovie("BotMinim", "btn_min", n + 3000);
this.miVent.btn_min._height = 14;
this.miVent.btn_min._width = 15;
this.miVent.btn_min._x= w-36;
this.miVent.btn_min._y= 4.5;
this.miVent.btn_min.onPress = function(evt:Object){
this._parent.createEmptyMovieClip("minimiza", 1);
if (Math.round (this._parent.cuerpo._height)>0)
{
this._parent.minimiza.onEnterFrame = function(){
this._parent.path.Esconder(this._parent.path.cw, this._parent.path.ch);
};
}
else {
this.parent.minimiza.onEnterFrame = function(){
this._parent.path.Mostrar(this._parent.path.cw, this._parent.path.ch);
};
}
this.miVent.minimiza.path = this._parent.path;
};

this.cw = this.miVent.cuerpo._width;
this.ch = this.miVent.cuerpo._height;
this.w = this.miVent._width;
this.h = this.miVent._height;
this.miVent._height = 0;
this.miVent._width = 0;
}
function Mover(w, h){
this.miVent._height +=(h-this.miVent._height)/5;
this.miVent._width +=(w-this.miVent._width)/5;
if (Math.round(this.miVent._width)== Math.round(w) || Math.round(this.miVent._height)== Math.round(h)){
delete this.miVent.vida.onEnterFrame;
this.miVent.vida.removeMovieClip();
}
}
function Recoger(w, h){
var dish, disw;
dish = (this.miVent._height)/3;
disw = (this.miVent._width)/3;
this.miVent._height -= dish;
this.miVent._width -= disw;
this.miVent._y += dish/2;
this.miVent._x += disw/2;
if (Math.round(this.miVent._width)<=0 || Math.round(this.miVent._height)<=0){
delete this.miVent.death.onEnterFrame;
this.miVent.death.unloadMovie();
this.miVent.unloadMovie();
}
}
function Esconder(w, h) {
this.miVent.cuerpo._height -=(this.miVent.cuerpo._height)/2;
if (Math.round(this.miVent._height) <=0){
delete this.miVent.minimiza.onEnterFrame;
this.miVent.minimiza.unloadMovie();
}
}
function Mostrar(w, h){
this.miVent.cuerpo._height += (h-this.miVent.cuerpo._height)/3;
if (Math.round(this.miVent._height) >=Math.round(h)){
delete this.miVent.minimiza.onEnterFrame;
this.miVent.minimiza.unloadMovie();
this.miVent.cuerpo._height = h;
}
}
function set titulo (t:String){
this.miVent.BarraSup.titulo.texto.text = t;
}
function get titulo(): String{
return this.miVent.BarraSup.texto.text;
}
function set _x(t:Number){
this.miVent._x= t;
}
function get _x():Number {
return this.miVent._x;
}
function set _y(t:Number){
this.miVent._y = t;
}
function get _y():Number{
return this.miVent._y;
}
function set _height(t:Number){
this.miVent._height=t;
this.h=t;
}
function get _height():Number{
return this.miVent._height;
}
function set _width (t:Number){
this.miVent._width=t;
this.w=t;
}
function get _width():Number{
return this.miVent._width;
}
function set contentPath(mc:MovieClip){
this.miVent.cuerpo.componente._x= 5;
this.miVent.cuerpo.componente._y= 25;
this.miVent.cuerpo.componente = mc;
}
function get contentPath():MovieClip{
return this.miVent.cuerpo.componente;
}
}

Yo dudo el la primera parte que te pinto de rojo. Está bien ubicado el script?
gracias.