могу ошибаться но

Код AS3:
var shar:MovieClip = new Shar();
addChild(shar);
это свойство объекта Main, а

Код AS3:
trace(shar.x)
выводит значение

Код AS3:
private var shar:Shar;
так как он в более близкой области видимости и найдя его определение внутри класса SharZloi, дальше поиск не происходит.