Hola de nuevo, al final la solución está en agregar un borde de 0 pixeles para el estado o clase principal del hover, o sea el "
hover sin img".
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Borde en imágenes</title>
<style type="text/css">
a img{border: 1px solid #fff;}
a:hover img{border: 1px solid #ccc;}
a:hover {border:0;}
a.img-border img {border: 10px solid #E6E3DE;margin:20px;}
a.img-border:hover img {border: 10px solid #B6B4B1;}
a.img-border:hover {border: 0;}
.imagen2 a img{border: 10px solid #999;}
.imagen2 a:hover img{border: 10px solid #CCC;}
.imagen2 a:hover {border: 0;}
</style>
</head>
<body><a href="enlace.html"><img src="imagen.gif" alt="" width="29" height="18" /></a>
<a href="hola.html" class="imagen2"><img src="imagen.gif" alt="" /></a>
<a href='#' class='img-border'><img src="imagen.gif"></a>
</body>
</html>
Ahora me sirve en los tres ejemplos, lo dejo ahí por si le sirve a otro o para corregirlo en el caso de que hayan más y mejores opciones
Saludosss