It’s just because you give the links a display:block;
The inline box model is extremely complicated. It’s just giving you a bug. I don’t see why you even need to have display:block there in the first place, but if you do eventually need to use some block level features, you can set it to display:inline-block; (also set zoom:1; to give haslayout).
IE7 will also need *+html a.leftnav_link{display:inline;} since IE7 technically doesn’t even support display:inline-block;
The IE7 feeding of that line along with zoom:1 will make it have display:inline-block behavior.