1) Все псевдоклассы (как и классы) дают одинаковый вклад в специфичность. Поскольку наведенная ссылка одновременно является либо посещенной, либо нет, при перечислении псевдоклассов по отдельности к ней применяется какой-то один — тот, что идет последним. Чтобы все классы применялись, рекомендуют указывать их в последовательности link/visited/hover/(focus)/active (есть специальные запоминалки, типа «LoVe/HAte» или «Lord Vader Hates Furry Animals», лично я предпочитаю свою — «Links, even Visited, Have to be Fully Accessible». 2) Судя по всему, дело в ограничениях на стилизацию посещенных ссылок ради безопасности. До его введения через них можно было «выведать», какие страницы посещал юзер (напр., дергая шпионский скрипт через background-image для них). Поэтому современные браузеры (как минимум, Хром и ФФ) разрешают менять для посещенных ссылок лишь ограниченный набор свойств, не сказывающихся на отображении других элементов: color, background-color, border-*-color, outline-color, column-rule-color, fill и stroke (подробности со ссылками на англ.).