Во-первых у тебя в коде должно быть
ТабличнаяЧасть1.Удалить(НовСтрок);
поскольку индекс у тебя не меняется и удалиться пытается всегда строка с одним и тем же индексом.
По идее в циклах типа "для каждого" вариант удаления элемента выборки не должен влиять на цикл, но в 1С это правило не выполняется. Потому можно как верно предложил
Oleshek проходить по строкам от конца к началу (кстати самый правильный вариант для 7.7) либо в 8 я сначала скидываю в массив строки (не индексы!) а потом удаляю по массиву:
Мас=Новый Массив;
Для каждого Стр из ТЗ Цикл
Если (Условие для строки выполняется) Тогда
Мас.Добавить(Стр);
КонецЕсли;
КонецЦикла;
Для каждого Стр из Мас Цикл
ТЗ.Удалить(Стр);
КонецЦикла;