Dass das compilieren ohne #include bei dir geht, liegt nur an der IDE. Übertrag das Programm z.B. mal nach Keil µVision, der haut dir dank der fehlenden #includes gleich mal Errors auf den Tisch.

Ich compilier z.B. immer mit der Option "Warnings as errors", somit lauf ich garnicht erst Gefahr, Warnungen zu übersehen bzw. absichtlich zu ignorieren.

Die aktuellen Fehler lesen sich so, als wäre ein falscher (oder garkein) AVR ausgewählt. Wird in irgend einer Datei die avr/io.h eingebunden?
Oder ist in den Projekteinstellungen der richtige AVR ausgewählt (ATMega32 z.B.)?