Boy, I wish we had lots of people coming here from a background in real languages like java or C#. These conversations would be quite a bit different.
@ the person claiming that it's better to spawn objects with a method other then the constructor:
In essentially any OOP language it is standard to have some variation of the line "object name = new object()" with a couple syntax things modified (for example in flash you switch around the object and the name on the left, add a colon and shove the word "var" onto it). This is recognized by every single OOP programmer in the world as an object that has just been initialized by it's constructor. Even someone who has never seen AS3 before would be able to recognize it.
Meanwhile, if you showed someone from outside duplicateMovieClip() they would need to see the docs or a tutorial before understanding how to use it correctly. So don't even try to say that is a "easier" or "clearer" way of doing it.
PS: if you don't understand half of what I said above, go learn the basics of OOP. Using an OOP language without actually understanding OOP is just... ugh....