СлаваRa, попробовал, покопался в инете, вроде и код почти такой же как у Вас везде, всё должно работать, но почему-то класс main сам себе так дальше и загружается, будто я ничего и не менял.
main:

Код AS3:
[Frame(factoryClass="preloader")]
//переменные
public class main extends MovieClip {
public function main() {
//функции и т.д.
}
}
//и тут функции
preloader:

Код AS3:
package
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.utils.getDefinitionByName;
/**
* ...
* @author Turbo-Dizel
*/
public class preloader extends MovieClip
{
private var BTN:MovieClip = new btn();
public function preloader()
{
addChild(BTN);
BTN.x = 300;
BTN.y = 300;
BTN.addEventListener(MouseEvent.CLICK, clickb);
}
function clickb():void {
var mainClass:Class = Class(getDefinitionByName("main"));
var mainClassObj:Object = new mainClass();
addChild(mainClassObj as DisplayObject);
}
}
}