Если я правильно понимаю, в прерывании INT0 ожидаем либо 0 на PIND.1 - старт 12us, либо срабатывания компаратора OCR0 - старт 4us (Fclk=32/4us=8 MHz). Тогда реакции на PIND.1=0 никогда не будет. Потому как компаратор сработает раньше. Если наоборот, то тогда какая частота МК, вроде получается: Fclk=32/12us=2.66 MHz, как-то странно

. Если все таки Fclk=8 MHz, то поменяйте реакцию компаратора на длинный старт 12us, при этом OCR0=8MHz*12us=96. А вообще, лучше все-таки поменять логику программы и, как было сказано beer_warrior, вынести циклы while из обработчика прерывания.