Wolsh, я бы сюда еще добавил проверку на общий для яблок контейнер и по его достижении сбрасывал бы цикл. Хотя целесообразность зависит от его (контейнера) глубины относительно stage.

Код AS3:
var p:DisplayObject;
var cont:DisplayObjectContainer;
var length:int = objects.length;
for (var i:uint = 0; i < length; i++)
{
p = objects[i];
while(p != null)
{
if(p == cont)
{
break;
}
if(p is Apple)
{
this.removeChild(p);
break;
}
p = p.parent;
}
}