Gli angoli arrotondati non fanno parte dello standard. Sono una estensione dei CSS3, che ancora non e` supportata in tutti i browser.
Comunque, sia FF che IE9 li riconoscono, ma con una sintassi propria, che prevede un prefisso ed a volte piccoli cambiamenti nei valori. Non vengono riconosciuti da alcune versioni precedenti, tipo IE8.
Ora non ricordo la sintassi: la puoi trovare mediante ricerca nel forum (prova a fare una ricerca con la chiave "border-radius") o nei siti specializzati.
---
Alcuni browser hanno un default per i link e per le immagini all'interno dei link. Per toglierla devi dirglielo esplicitamente: esempio
codice:
a, a:visited, a:hover, a:active {
color: #33f; /* questo c'e` gia` nel tuo codice, ma l'ho riscritto compatto */
text-decoratiuon: none; /* questo potrebbe essere necessario se non vuoi la sottolineatura */
}
a img, a:hover img { /* questo ti manca */
border: 0;
}