Voici un morceau de code basique :

var r:MyRectangle = new MyRectangle(); //clip de la bibliothèque
var s:Sprite = new Sprite();
s.addChild(r);
this.addChild(s);

Rien de spécial, tout fonctionne parfaitement. Maintenant, juste avant l'affichage du clip, un Tween est appliqué sur le Sprite en question :

import fl.transitions.*;
import fl.transitions.easing.*;
 
var r:MyRectangle = new MyRectangle();
 
var s:Sprite = new Sprite();
var t:Tween = new Tween(s, "width", Back.easeOut, 0, 200, 1.5, true);
 
s.addChild(r);
this.addChild(s);

La c'est le drame ! Plus rien n'apparait à l'écran... Suite à un isolement du problème, le code se résume à ceci :

var r:MyRectangle = new MyRectangle();
var s:Sprite = new Sprite();
s.width = 0;
s.addChild(r);
this.addChild(s);
s.width = 200;

Et le souci est toujours le même. Le comportement de la propriété width (au même titre que height) est assez spécial : pour autant que le DisplayObject soit vide, il suffit de la modifier (avec une valeur quelconque) pour que plus rien ne s'affiche. Même en essayant de réinitialiser les valeurs ensuite (et aussi avec scaleX), impossible à faire afficher quoi que ce soit !

Toutefois, la solution est imple : il suffit d'appliquer le Tween après avoir mis du contenu dedans, ce qui donne :

import fl.transitions.*;
import fl.transitions.easing.*;
 
var r:MyRectangle = new MyRectangle();
 
var s:Sprite = new Sprite();
s.addChild(r);
var t:Tween = new Tween(s, "width", Back.easeOut, 0, 200, 1.5, true);
//ou s.width = 200;
 
this.addChild(s);

En toute logique, les propriétés width et height ne devraient être modifiées qu'après avoir mis du contenu. Le comportement est assez louche et la doc précise juste que par défaut les valeurs sont à zéro... Méfiance donc !