Установите альфа на ноль перед анимацией, затем анимируйте альфа на единицу.
[fadingView setAlpha:0.0];
[containerView addSubview:fadingView];
[UIView beginAnimations:nil context:nil];
[fadingView setAlpha:1.0];
[UIView commitAnimations];
Перед удалением вида просто оживите альфа до нуля.
Кстати, иерархия представлений - это больше дерево, чем стек.
Edit:
Если у вас нет другой очистки после завершения анимации при исчезновении вида, используйте:
[UIView setAnimationDelegate:fadingView];
[UIView setAnimationDidStopSelector:@selector(removeFromSuperview)];
Если вы уже устанавливаете didStopSelector, тогда вызовите removeFromSuperview там.