В твоём коде:

Код:
this.dataXML.onLoad = function(success) {
if (success) this.cats_loaded = true;
}
this ссылается на dataXML, а не на экземпляр класса Galery. Решение твоей проблеммы могу предложить следующее:

Код:
function init()
{
......
......
this.dataXML = new XML();
this.dataXML.linkToParent=this;
...
...
}

Код:
this.dataXML.onLoad = function(success) {
if (success) this.linkToParent.cats_loaded = true;
}
Но это кривое решение и лучше не используй его, гораздо лучше будет сделать через класс Delegate, но я с ним к сожалению не работал, но в FAQ есть его описание, посмотри.
И зря ты пишешь Galery extends XML, это лишнее. Если ты так пишешь, то this.dataXML = new XML(); можно не писать. И все обращения к методам и свойствам XML будут выглядеть так:

Код:
this.ignoreWhite = true;
this.load(this.cats_url + "?cat=" + this.cat_id);
this.onLoad = load_ok;