Тем более что в своей программе смогу сделать защиту от кражи, как самого исходного файла прошивки, так и саму возможность программирования можно будет приостановить в любой момент, или поставить счетчик и т.п.
Не сможешь.
В этой схеме, если захотят, тебя кинут просто на раз. Передал программу программирования - считай передал прошивку, которую будут шить столько раз, сколько захотят.
У тебя нет возможности приостановить возможность программирования, если только твой программатор не будет управляться тобой через интернет.
Если у тебя настолько ценная программа, что стоимость работ по извлечению прошивки перекроет написание прошивки с нуля,
то в твоей схеме прошивка извлекается логическим анализатором в процессе программирования.
Затем можно сделать дизассемблирование и поиск/удаление закладки.
Для того, чтобы тебя не кинули, ты должен предусмотреть возможность кинуть самому: например, сделать прошивку с закладкой.
Бутлоадер с шифрованием тоже не поможет, если зашивать его будешь не ты.
Бутлоадер нужен только для организации безопасного процесса обновления.
А если зашиваешь чипы ты сам, то можешь сам формировать готовый прошитый чип. И только в этом случае ты сможешь проконтролировать количество зашитых чипов.
-------
Вероятно оптимальный для тебя вариант: сделай программу программирования в виде законченного независимого аппаратного программатора.
Устройство: плата с процессором, кнопкой, парой светодиодов (зеленый, красный). Подключили контакты программирования, нажали кнопку.
По факту успеха внутри процессора учлось количество сделанных копий.
Конечно, это не защитит тебя от слива логическим анализатором, но в первом приближении ты сможешь проконтролировать количество копий и маленько скорректировать баланс сил.
Но если у тебя возник вопрос - кинут или не кинут, то, судя по описанию ситуации, весьма высока вероятность что кинут.
У заказчика слишком много требований, риски по успеху продукта переложили на тебя, а твоих требований и интересов учтено ноль.