Как вариант

Код AS3:
private function reorder(): void
{
var iS:Boolean = true;
var i: int;
var n: int = _childs.length;
while(iS)
{
iS = false;
for (i = 1; i < n; i++)
{
if (_childs[i - 1].y > _childs[i].y)
{
this.swapChildren(_childs[i], _childs[i - 1]);
var tmp: DisplayObject = _childs[i];
_childs[i] = _childs[i - 1];
_childs[i - 1] = tmp;
iS = true;
}
}
}
}
Тупая, но рабочая сортировка пузырьком, при небольшом кол-ве объектов вполне приемлемо (выдрал из кода, для вашего случая возможно нужно поменять знак сравнения, не проверял).