cmezauni: para los <hr> debes aplicar el estilo de esta manera:
hr{
color:red;
background-color:red;
border:0;
height:1px;
}
con eso te queda una simple linea horizontal, ahi le vas dando el grosor que requieras con "height" (se usa "color" y "background-color" para que sea compatible con IE y el resto d enavegadores)
Sobre la segunda pregunta... para usar solo CSS creo que debes trabajar con la pseudo-clase :hover (pero el problema es que IE permite esa pseudo-clase solo en los elementos <a> con un href...
No manejo mucho ese tema, asi que podrias revisra sobre las seudo-clases en:
http://ignside.net/man/css http://www.w3schools.org/css