Я вчера начал писать, там целая статья будет. Если крадко, то во время статик инита сслыка на класс в global ещё не прописана. А компилятор по разному получает эту ссылку для обращения к классу и для создания объекта например, поэтому

Код AS3:
package {
public class ClassName {
trace(ClassName);
staticFunction();
public static function staticFunction():void {
trace(ClassName);
trace(new ClassName());
}
}
}

Код:
[class ClassName]
null
[object ClassName]
Это потому что в функции он ищет класс как this(на самом деле в статиках на уровне ассемблера есть this и там это класс) если хотим создать объект, и достаёт из глобала если хотим получить ссылку на класс.
Добавлено через 5 минут

Код AS3:
trace(ClassName);
в статик ините и в методе компилируется в разный байткод avm2, и обычно они работаю одинаково, но в данном случае нет.