Оказалось не учел, что в 48/88/168/328 больше прерываний и прерывание USART на 7 прерываний дальше расположено, передвинул и всё норм стало. Кстати, на Atmega48 у меня отлично запустилось на 28МГц, никаких проблем. Еще проблема с 3 канальной версией у всех кроме Atmega8, некорректно инициализировал второй таймер.