pk,
I think the issue is the way IE handles the box model. To get things to work, here is what I do.
Like you, I would float the first column left using float:left; and set the width as you did with width:200px; then I would also make #textcontainer have a float:left: and remove the margin-left:200px;
Now comes the fun.
#maincontainer {
width:700px;
margin-left:auto;
margin-right:auto;
}
You have everything in a container that is 700px wide, and you have a 200px and 500px column. For that to work, you need to set #maincontainer margin and padding to 0 and be sure your margins and paddings don't make your two columns wider than your maincontainer.
One trick I use is to add a background color to the maincontainer and different color for each column. That will give you a visual of the width.
Part of your problem is that you need to float both columns. So give that a run and let us know how it works out.