De hecho el
:hover
en ese caso será para el enlace, u otro hijo que contenga
li
, precisamente por el espacio que comenta
JustinKO.
Aquí lo puedes ver con más claridad:
http://jsfiddle.net/8W5ff
Por otro lado lado seguramente ese
width: 100%
también sobre, ya que los elementos en bloque tienen un ancho automático —que realmente no es 100%—y a veces ambas cosas pueden ocasionar resultados imprevistos.