Здравствуй, Илья
С регистрами там вроде все нормально, а вот с работой с асинхронным таймером - на первый взгляд вроде как непорядок. После записи в любой из асинхронных регистров полагается подождать очитски соответствующего флога в ASSR. У тебя же она отсутствует после записи в OCR0. Но, с другой стороны, в OCR ты пишешь редко (реже, чем 2 такта часового кварца), поэтому с этим проблем быть не должно. Но поправить все же не мешало бы.
Код
OUT_TIMER:
lsl temp
outr PORTC,temp
ld temp,-Y
outr PORTA,temp
inr temp,TCNT0
subi temp,-1; !!!! Если здесь поставить 2 - секундомер врёт
outr OCR0,temp
rjmp MAIN
Остается только грешить на атмеловцев (хотя маловероятно) - на то, что при записи OCR странным образом сбивается прескалер таймера. Или на разводку платы - возможно, смена чатосты развертки изменила характер наводок на кварц и он начал нестабильно работать. Или же превышены допустимые токи по ногам питания/массы/не все ноги припаянны.
А может, стоит попробывать сделать развертку на отдельном таймере? благо, у 128меги их еще есть.