По хорошему сигнал TCK нужно насильно притянуть, а не полагаться на
internal pullup, то же касается и резета (и повторно напоминаю
MONEN -- high). Да, с подключением на горячую запросто может быть:
допустим, программа успела дать команду на запись и ждёт окончания
записи. В этот момент рубят питание и встроенный автомат записи
глючит и пишет что попало. Потому, что ему сброс толком не сделали
(в схеме самого мк). Помнится у AVR что-то подобное было. И хрен
программно исправишь. У AVR там как раз из-за резета адрес обнулялся, потому нулевая ячейка и портилась вместо другой записываемой. На скорую руку можно ввести программную задержку старта: в расчёте на то, что пересбросы вероятны в первую секунду после подачи питания (т.е. в main() тупо sleep(секунда)).