Потому что весь код класса, включая и статические переменные выполняются/инициализируются во время первого использования класса, по порядку. А у вас первое использование класса происходит между ARR1 и ARR2(ARR1, конструктор, ARR2, getInstance), поэтому получается ARR1 уже проинициализиорован, а ARR2 ещё нет. Если вы каким-то образом создадите второй экземпляр "синглтона", то у него уже всё будет впорядке.

Код AS3:
function getInstance(){
if(!_instance) _instance = new Singleton(); // выполнится после всех инициализаций уровня класса
return _instance;
}