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