The problem isn't with your code, it's with flash.
Flash has 3 depths "areas"
the Timeline zone (depths = -16, 384 to -1)
the dynamic zone(depths = 0 to 1,048,575)
the reserve zone(depths = 1,048,567 to 2,130,690,045)
Anything you draw is instantly placed at a depth of -16,384 and goes upwards from there.
Anything added by actionscript starts at 0 and goes up from there. The only exeption to this rule is the createEmptyMovieClip method, which can.. in theory be set to a depth of -9999999999 or something crazy like that.
Without using swapDepths on the stuff ON the stage, you can't get them into the dynamic zones to allow your duplicated items to be behind the stuff you drew on stage.
There might be a workaround with creating an empty movie clip... but I haven't worked with it at all.