ADIF - это номер бита, а не регистр. Проверять надо регистр ADCSRA на наличие этого флага. Вот так:
while (!(ADCSRA & (1<<ADIF))) {}
Здесь, сдвигом единички влево, из номера бита получается маска. Потом с помощью операции "&", бит ADIF вырезается из значения регистра статуса ADCSRA. Результат сравнения инвертируем операцией "!".
P.S. На ICCV7 я не работаю, поэтому для уточнения рекомендации смотрите сами, как определен ADIF в хидере: номер бита он или маска.
На моем любимом IAR'е

это выглядит много изящней и нагляднее:
while( !ADCSRA_ADIF) {}
Рекомендую.