Строка andi r16, (0xff & (0<<WDRF)); сброс флага WDRF в рег. MCUSR
даст 0 в r16, если надо сбросить бит, то делать надо так
andi r16, ~((1<<WDRF)); сброс флага WDRF в рег. MCUSR
PS: и по Вашему это рабочий код:
;=======================Основная программа=========
in r20,SREG;сохранение SREG
cli; глобальное запрещение прерываний
...; bla-bla-bla
out SREG,r20;восстановление SREG
sei