as somewhat explained above, you cannot do that... with AS 3.0 it is very difficult to load classes on any frame other than the first, unless they are abstract... meaning... they have no association with a movieclip. And as you have found out during your testing, movieclips in the library must load in the first frame, and therefor so do their classes.
an abstract class is basically the same, but you pass in a reference to the object that you want to interact with, but then you loose any bubbling possibilities that a movieclip has...
You need to evaluation whether or not your "preloader" is something that is too large to work in the shell.swf, and if so, then it isn't a true preloader... but more of a splash animation that really does more harm than good.
No matter what, you still need to use the shell.swf option, and then you can place a light visual graphic or movieclip in the shell to help the user stay attentive during the loading of the rest of your application.
rp / ZA