Nu har jag inte koll på exakt vilka webbläsare detta buggar ur i, men för att undvika problem med att vissa webbläsare låter "fel" deklarationer gälla om man inte har rätt ordning på dem, så bör man alltid deklarera sina "pseudoklasser" till <a> i ordningen
a:link { }
a:visited { }
a:hover { }
a:active { }
Ditt problem kan eventuellt ha berott på att du hade "fel" ordning på hover och visited och att du råkar ha en sådan webbläsare...
Felet berodde förmodligen på att du hade skrivit pseudoklasserna (:link, :visited, :hover) i fel ordning.
Det spelar faktiskt roll vilken ordning de står i, och rätt ordning är:
1. :link
2. :visited
3. :hover
4. :active
(ordningen mellan 1 och 2 ska dock inte spela någon roll)