Да, контроллер некоторое время шился нормально. Попытался использовать PonyProg, тоже не может его прошить, даже кристалл не распознается. Видимо, отработал свое контроллер

С вашим случаем тоже сталкивался. Я ставил перемычки на SPI, чтобы отключать контроллер на время программирования от остальной схемы. И еще делал простую вещь: в начале программы делал небольшую задержку, а уже после нее конфигурировал SPI. Тоже были мысли, что при работающем SPI и входе в режим программирования(т.е. подаче сброса и т.п.) выводы для программирования не переключались в нужное состояние(ввод, вывод).