Por que no pones la imagen "dentro" del <a> y cambias la imagen con javascript a traves de onmousover y onmouseout???
Código:
<script languaje="javascript">
function changeImg(img, path)
{
img.src = path;
}
</script>
<a href="index.php?loquesea"><img src="boton1.png" onMouseOver="changeImg(this, 'boton2.png')" onMouseOut="changeImg(this, 'boton1.png')"/></a>