Да, ошибка инициализации была и я также её благополучно просмотрел.

Однако, я пока не понял почему были случайные пропуски в начальном варианте. В EICRB значения бит по умолчанию "0". То есть прерывание с 4 ноги (без инициализации) должно было срабатывать по низкому уровню входного сигнала.
А откуда взялись случайные пропуски?
В принципе, у Вас сейчас всё работает, но хочется найти причину проблемы. Мне всегда интересно разобраться.