Preloader not showing until it is not needed

Hi All

I have a preloader that is not appearing until the movie has loaded 80% of its size. Until then all I get is a white screen. I have heard that it may have something to do classes and objects being exported/loaded on frame one before the preloader gets placed on screen. I have been into the publish flash settings and changed the Export classes on frame to 2, but it has’nt changed anything. The things I have importing is the caurina Tweener class and an XML file, both of which have been told to come into the movie after frame 1. Any graphics or movieclips are already on the stage after frame 1. All the code is contained within my stage, there are no external .as files.

The code for the preloader im using has worked on a previous movie, here it is

stop();
//preloader
this.addEventListener(Event.ENTER_FRAME, loading);
function loading(e:Event):void {

var total:Number = this.stage.loaderInfo.bytesTotal;
var loaded:Number = this.stage.loaderInfo.bytesLoaded;

bar_mc.scaleX = loaded/total;

if (total == loaded){
play();
this.removeEventListener(Event.ENTER_FRAME, loading);
}
}

Any suggestions to this problem would be most grateful as it is a problem I keep getting when I use preloaders and never been able to fix 100%

Cheers
Ash