Разобрался в проблеме!!! Я был не прав на счёт новых плат, там было
одно изменение - BOOT1 был подключён к GND, ранее висел в воздухе.
В целом это правильно и указано в даташите. BOOT0 у нас подключён к
GND через резюк и заведён на разъём программирования. Приоритет у
BOOT0. Если там GND, то МК стартует из Flash независимо от
состояния BOOT1. Поэтому ранее проблем не было. Но вот тут самое
интересное начинается. Мы удалили пин BOOT0 с разъёма программатора
и все платы через Keil стали прошиваться нормально. Значит Keil зачем-то дёргает BOOT0 перед верификацией прошивки. Но раз ранее на BOOT1 была лог. 1 (он был в воздухе), то значит МК переключался в режим запуска из SRAM. А при BOOT1 на GND он переключается на системный загрузчик. При этом оригинальная софтина от Artery так не делает. В общем для себя решили в новых ревизиях вообще убрать BOOT0 с разъёма программатора, просто подключим его тоже к GND. Ни в какой ситуации он нам не требуется. Даже если зашить МК с битом FAP (защита кода), то потом она снимается оригинальной софтиной без проблем. Вот такой итог :-)