@Foppy скорее всего в файле-задании строки просто размножены и не отличаются друг от друга никак. Поэтому баз при ошибке вытирает все копии строки.
Правится это добавлением в строку уникального идентификатора( порядковый номер строки или рандомный набор символов, который не будет использоваться в работе и будет стоять, например, последним в строке и не попадать под уже существующий парсинг csv строки).
В этом случае при краше будет удалятся только строка, которая была в работе.
Краш BAS при неправильном условии
-
Краш программы это всегда баг. (с)
Создаём функции OnApplicationStart один экшен Создать Ресурс, далее в main проверяем количество элементов и выставляем условие:

В итоге, в режиме записи if отрабатывает правильно, без ошибок. А в режиме запуска вылетает BAS

Не зависает (или делает вид), а именно вылетает.Вот тестовый скрипт.
Что бы убедится, что BAS не зависает а крашится я переделал скрипт:
Добавил в ресурс значений

А в main стал их использовать

Итог:

Крашится как заканчиваются ресурсы.Вот второй тестовый скрипт.
-
Для тех, кто думает, что косяк именно в самом условии, я сделал ещё один тестовый скрипт
:DСоздаём функции OnApplicationStart один экшен Создать Ресурс, далее в main проверяем количество элементов и выставляем условие:

Итог в режиме запуска всё нормально работает

-
@FastSpace
:Dспасибо за совет. Но баг я здесь описал, что бы @support его мог поправить.