Problème transfert SPI

Ce que tu appelles "programmer par "SPI" est en fait le mode ISP (In Situ Programming).
Le SPI correspond à une fonction secondaire de certaines I/O, d'où la confusion facile entre ISP et SPI puisqu'ils utilisent les mêmes pins, mais pas au même moment le mode ISP n'étant accesssible qu'au démarage du micro.

Ce mode ISP est le PREMIER mode de programmation des micros avr, en conséquence "il est étudié pour" et ne peux pas détériorer le micro.
Le mode "par bootloader" n'est pas le mode initial : il faut bien charger le bootloader dans le micro, et cela se fait en ISP.

Je pense plutôt à un problème matériel.
La première explication qui vient est une charge/décharge de circuit RC.
Quels changement entre le moment où cela fonctionnait vite et maintenant ?
Il y a-t-il des résistances supplémentaires dans ton circuit ?

Et encore plus raz les paquerettes : as-tu testé avec une autre sortie, histoire de vérifier que la pin 40 n'a pas été endommagée par quelques fausses manip, involontaires et donc passées inaperçues ?
Idem pour le potentiomètre.