Actually, your layout is wrong for a three column theme. You have the main content first, followed by the two sidebars. That won't work. With a single sidebar, that can work, but not with a double sidebar.
The only way that layout can work is if you have your sidebars first, followed by your main content. That's problematic for SEO, but it's the way the layout has to be unless you want to use trickery. The trickery in this case comes from careful use of negative margins.
Here's a modified holy-grail technique for three columns with fixed widths. Emulate it to make your theme work properly.
<style>
body {
min-width: 600px; /* 2 x left column width + right column width */
}
#wrap {
padding-left: 200px; /* width of left column */
padding-right: 200px; /* width of right column */
}
#wrap .column {
position: relative;
float:left;
}
.block1 {
width: 300px; /* width of center column */
}
.block2 {
margin-left: -300px; /* negative width of center column */
width:200px; /* width of left column */
right:200px; /* width of left column */
}
.block3 {
width: 200px; /* width of right column */
margin-right: -100%;
}
</style>
<body>
<div id="wrap">
<div class="block1 column" style='background-color:red;'>
Main center column
</div>
<div class="block2 column" style='background-color:blue;'>
Side bar on left
</div>
<div class="block3 column" style='background-color:green;'>
Side bar on right
</div>
</div>
</body>