There's three things I would look at here:
First add the closing bracket to the html element as you neve know what effect broken tags will have
Secondly add the correct width and height attributes to all your images in the html so that the browser allocates the space correctly.
Lastly and which I suspect is the real issue is that stupid html5 technique of letting anchor tags wrap block elements. This always causes trouble and I've seen it upset a number of pages and IE usually hates it.
<img src="images/thumbs/sexy.gif" width="274" height="141" alt="" >
I would add a class to all those anchors and give them a width and height and then float them also. This will stop them being empty elements in the html because its children have flown the coup.
<div class="thumb"><img src="images/thumbs/courage.gif"></div>
If none of the above works we will have to think again
(As an afterthought because I didn't check I assume all your measurements are adding up exactly also including borders.)