ATmega88 ist zwar pinkompatibel zu ATmega8, aber in den Innereien hat sich einiges geändert und von Atmel ist er nicht als Ersatz für ATmega8 gedacht.

So wird z.B. der EEPROM anders angesprochen, was bei avr-gcc Probleme machen kann, weil nur Mega8 unterstützt wird. Du müsstest dann also ein paars Sachen von Hand machen. Gleiches gilt natürlich für ATmega168.