Похоже, что при каждом обновлении, из-за ошибки в алгоритме, одна и
та же область затирается множество раз. Просто сейчас дошло до
предела. Я бы взял рабочее устройство и попробовал выполнить ряд
обновлений, аналогично тому, что делалось "в полях". Может,
поймаете такой же отказ. Может где указатель слетает или ещё что в
процедуре обновления. И с другими данными прошивки работало, а
сейчас с текущими - проявилось. Подключите резистор последовательно с питанием МК, чтобы контролировать потребляемы ток и видеть моменты работы с FLASH. И посмотрите диаграммы. По току будет видно, когда идёт запись и когда она закончена. Может, обнаружите удивительное и поймёте, что происходит.