Sice tuhle syntaxi neznám (co je např. test, nějaká funkce? volaná bez závorek?), ale větve case se musí ukončovat s break, jinak pokračují další větví.
Ano, přinejmenším tak (na jiné chyby jsem se nedíval). Překladač při zápisu funkce bez závorky dosadí adresu funkce, což je povolená operace, ale protože to není použité ve výrazu tak ji jen zas zahodí a nic s tím neudělá a proto nic nehlásí.
Neznám jak Codevision umí pracovat s bity registrů (jak používáš UCSRA.RXC==1), u jiných překladačů se to bitově maskuje, např. if(UCSRA & (1<<RXC)), ale to máš zřejmě ověřené že je tak správně.