Ich vermute, das die Fusebits nicht stimmen. Aber bevor ich da was kaputt mache frage ich lieber hier nochmal nach.
Beides ist ein guter Ansatz
Einen extrem hifreichen Fusebit-Kalkulator findest du hier:

http://www.engbedded.com/fusecalc/

Dort kannst du feststellen, dass beim Mega664 im Auslieferungszustand das CKDIV8-fusebit gesetzt ist, d.h. der Takt intern durch 8 geteilt wird. Wenn du es löschst, läuft der Controller auch mit den gewünschten 8MHz.

So ein richtiges Eigentor kann man sich eigentlich nur mit dem SPIEN-fusebit schießen. Wenn das gelöscht ist, klappt die serielle Programmierung nicht mehr, der Chip ist dann nur noch mit ´nem "High-Voltage"-Programmer zu retten.

Also - experimentier´ mal damit rum, ist alles halb so wild!!

Edit: Schon wieder 4 Minuten zu spät