А почему бы не написать

Код:
while (numChildren) removeChildAt(0);
А у тебя помоему даже две причины.
1. Все дети нумеруются от нуля, а не от единицы.
2. Когда ты удаляешь 1-й элемент, то у тебя их уже остаётся не 4 а 3, следовательно УЖЕ невозможно удалить элемент с индексом 3 (остались только 0,1,2).