No, no está mal, pudo hacerse con javascript tambien, yo para simplificarte las cosas, el width y height eran 0, no 1
Cargar mas de una vez la imagen no representa ningún problema, imagina poner un logo al inicio y al pie de tu página
Para ampliar, la técnica específica para realizar eso rollover simples es esta
http://foros.emprear.com/css/over_input/over_input.html
(el ejemplo se aplica a un input, pero es lo mismo para otros elementos)
Saludos