Wenn das Programm nicht selbst Probleme macht (manchmal sucht man Fehler an der falschen Stelle weil man ein fehlerhaftes Hexfile geladen hat ...) sind vielleicht die Daten kaputt die du überträgst. Wenn du testweise einen zweiten AVR mit einem kompatiblen Bootloader flashst, könntest du hinterher den Flash auslesen und analysieren was der Loader empfangen und geschrieben hat.

mfG
Markus