Ein paar weitere mögliche Ursachen:
1) Ist der Watchdog wirklich aus ? Das geht bei einigen µCs nur über die Fuses.
2) Stack durcheinander / Überlauf
3) Sprung ausserhalb der Reichweite ?
4) AVCC nicht richtig versorgt -> browout springt zu früh an



Um die Ursache eines Resets zu erkennen gibt es das Register MCUSR. Da Steht dirn was den Reset ausgelöst hat. Das sollte man testweise mal gleich am Anfang zu PC senden. Das sollte ds suchen vereinfachen.