Для начала. У вас вот это что такое? Это у вас обработчик написан внутри другого.

Код AS1/AS2:
close_btn.onPress = function(){
bmp.dispose();
_root.blur_button.enabled = true;
this._parent.removeMovieClip();
trace(this);
}
Трейс посмотрите-ка что выводит.
Вы этого ожидали?
Не пишите одни обработчики внутри других.
Если нужно динамически назначать функцию-обработчик, то пользуйтесь конструкциями вида

Код AS1/AS2:
btn.onPress = function() {
....
otherBtn.onPress = othBtnOnPress;
};
function othBtnOnPress () {
...
}
Тогда и понятнее будет, что и как происходит. Дальше не смотрел, потому что неясно, что там и как должно быть.
PS. Попробуйте swapDepths убрать в конце, кстати, и посмотрите, что выйдет.