Just to restate the problem - background-image is being changed on :hover, but the overlying text within <a> tags is limiting the new b/g image from fully showing through when that happens.
The problem seems to be eliminated if 'li a:hover' is replaced with 'li:hover', but of course that will defeat IE6, which needs :hover to be applied to anchor tags.
See if the following alternative works:
1. Add a suitable width to the li (in accordance with the b/g image size).
2. Add 'display: block' to the 'li a:hover'.
Code:
.leftside li {
font: bold 11px Helvetica,sans-serif;
color: #FFF;
/* adjust width to suit b/g image */
width: 150px;
background: url(images/left_menu-bg.jpg) no-repeat;
margin: 7px 10px 5px 0px;
list-style-type: none;
text-indent: 40px;
}
.leftside li a, .leftside li a:visited, .leftside li a:active {
color: #FFF; text-decoration: none;
}
.leftside li a:hover {
display: block;
color: #404040;
text-decoration: none;
background: url(images/left_menu-bg_ovr.jpg) no-repeat;
}