ich vermute stark, dass dein µC aus irgendeinem grund kaputt ist (evtl. verfused?) wenn du nur timeouts bekommst und er nicht antwortet.

Lade dir mal AVR Studio herunter (wenn du dir auch noch das Plugin WinAVR herunterlädst, kannst du mit ihm auch C Programme schreiben). Dort kannst du im Menü Tools -> AVR Prog... einen kleinen Programmer aufrufen. Stelle bei ihm unter Device AtMega16 (wenn du mit der Einstellung AtMega32 arbeitest und Fuses setzt kann es sein dass er aufgrund eines Bugs falsche Fuses setzt und dein µC deswegen kaputt geht) ein. Anschließend kannst du unter Advanced Fuses setzen. Erscheint bei Signature: 0x000000 oder 0xFFFFFF reagiert der Controller nicht und ist wahrscheinlich kaputt. Deaktiviere außerdem (falls gesetzt) das Häkchen bei JTAG Enable (auch ein häufiger Anfängerfehler). Schreibe anschließend die Fuses mit write. Der Takt sollte auf ext. Crystal high frequency für externen Takt eingestelt sein.