Я тоже никогда не пользовался фирменным STK500 или AVRISP. Для меня это нереально дорого. Судя по описанию, апгрейд там может происходить автоматически, без шаманства с джамперами и передёргивания питания. Странно, что не встречается ни одного исходника загрузчика, который бы это поддерживал. Тот исходник, который есть у меня, опрашивает PB0 один раз после сброса. Получается, поллить его нужно всегда и сразу давать сброс основному контроллеру? Стартовать программу, похоже, действительно можно по Leave Programming Mode. В том исходнике по Leave Programming Mode делается большая задержка, а потом передается ответ компьютеру. Если перед задержкой добавить снятие сброса основного контроллера, всё должно быть хорошо. Только еще большой вопрос, сбрасывает ли в ноль основной контроллер свою ногу PB4, когда хочет апгрейдится.
Видно, помогут только эксперименты. Загрузчика, аналогичного фирменному, похоже, никто не делал.