Почитайте в документации описание метода contains, и поймете, что даже если объект добавлен в дочерний контейнер проверяемого контейнера, то contains() все равно вернет true. Лучше не использовать этот метод.
Я бы лучше сделал так:
Код AS3:
if (sendWindowCont.parent && sendWindowCont.parent == this) removeChild(sendWindowCont);
ну или добавил в класс метод для проверки
Код AS3:
override public function get contains(value:DisplayObject):Boolean {
return value.parent && value.parent == this;
}
И потом бы вызывал этот contains() вместо нативного
п.с. Может с сигнатурой метода ошибся, писал прямо здесь, точно не помню