Как насчет использования функции, которая дублирует DisplayObject. Эта функция возвращает новый экземпляр класса, если предоставленный объект:
function duplicateDisplayObject( dspObj:DisplayObject ):DisplayObject
{
var class_name:String = getQualifiedClassName( dspObj );
var definition:Class = getDefinitionByName( class_name ) as Class;
return new definition() as DisplayObject;
}
(MovieClip, Sprite и Bitmap все наследуются от DisplayObject)
Edit:
Если вам нужно использовать его с MovieClips, вы можете просто:
var myDuplicate:MovieClip = duplicateDisplayObject( myOriginalMovieClip ) as MovieClip;