Your problem may lie in the way you are using "mc" In an attachMovie scenario, the first argument is supposed to be the linkage ID of the object in the library. Then you go and name the instance you create that same thing, "mc", which is bound to conflict with the var mc you already defined which is merely a string value.
I'm tempted to tell you to try tracing...
because if mc is a string, and is the instance name as well, you would need to use bracket notation (or eval) to have the string treated as an object reference.
But I'd recommend changing the name of the instance you create to something else, maybe: mc+"Obj" just to avoid any confusion...
mc_clothes_holder.attachMovie("mc", "mc", mc_clothes_holder.getNextHighestDepth());
I know you probably mean mc is a string and it's already within quotes in your file, but I put them in there just in case that's the issue you're having.
Personally though, I always do something like
mc_clothes_holder.attachMovie("mc", "mcOnStage", mc_clothes_holder.getNextHighestDepth());
I don't know if repeating the same name is your issue; I've always done it like the way above, thus I've never bothered to check if it works or not by repeating mc, mc as you do.
Thanks for your help. This was exactly what was wrong and my movieclips are now working as they should