Du wartest auf den Interrupt, aber der ist gar nicht enabled.

Statt dessen ist folgendes besser:
Code:
inline uint8_t readADC0( void )
{
	ADCSRA |= (1<<ADSC); //start conversion
	// wait until conversion complete
	while ( ADCSRA & (1<<ADSC) )
	{
		;
	}

	return ADCH; // 8 bit read
}


void initADC( uint8_t adcPrescaler )
{
	// External VRef (2.5V), ADC Pin0, Left adjusted result (we use only 8 bits)
	// hence ADCSRB doesn't need modification
	ADMUX = (1<<ADLAR);
	DIDR0 = (1<<ADC0D);
	// prescaler 64 ( =288KHz at 18.432MHz CPU clock)
	// prescaler 128( =144KHz at 18.432MHz CPU clock)--> | (1<<ADPS0)
	ADCSRA = (1<<ADEN) | adcPrescaler;
}