Допустим необходимо удалить все чайлды заданного меша. Первым в голову может прийти решение:
For i=1 To CountChildren(parent_mesh)
FreeEntity GetChild(parent_mesh,i)
Next
Но работать корректно оно не будет.
Всё дело в том, что стек соответствия номер_чайлда-хэндл обновится сразу после первого же удаления. Таким образом, место только что удалённого ребёнка будет занято следующим, обращение в цикле же будет ко второму ( т.е. получается к 3ьему - они же все сдвинулись влево). В результате удалён первый и третий, второй - остался и так далее.
Нам достаточно всё время удалять первый чайлд:
For i=1 To CountChildren(parent_mesh)
FreeEntity GetChild(parent_mesh,1)
Next
Блитц сам разберётся, кого и куда надо подвинуть