The first thing you need to find out is whether it's a browser quirk or the server side code that is causing the problem.
To do this, view your page in IE, with the blocks in that odd position, then right click the page and go to 'view source'. Copy all the code from there and paste it into a temporary static file with a .htm extension. Now try viewing this page in Firefox - if it displays correctly, then the problem is in IE's treatment of one of the tags. If it displays the same as it was in IE - incorrectly - then the problem is in the way the code is sending data based on the browser requesting it.
Having established where the problem lies, you can now go about finding the source of it. Assuming the above page displays correctly in firefox, run the page through the [url=http]W3 Parser[/url] - this will tell you which elements may be wrong and at least give you a starting point for debugging the page. Try changing one element at a time in the page and keep checking it in IE until the problem is resolved, then identify where that element comes from in the source code (php or tpl) and correct it there.
Hope that helps <img>