Es kann schon sein, dass beim µC ein Teil des Flash-Speichers für das Programm "beschädigt" ist und das Programm da verloren gegangen ist - ist aber eher unwahrscheinlich. Ein Wackelkontakt wäre eher auf der Platine als im µC zu suchen.

Es gibt aber halt auch viele andere Möglichkeiten. Eine wären z.B. Störungen der Versorgungsspannung z.B. durch eine überhöhten Stromverbrauch von Teilen der Schaltung, wie z.B. der Motoren. Wenn dann die Motoren anlaufen sollen - gerät der µC dann aus dem Tritt. So etwas sind leider Fehler die man nur schwer findet.

Ist bei Batterien der Jumper für die Diode auch offen ?