Well, it displays as it is coded... You should get in the habit of commenting each closing </div> tag as to which div is being closed so you can keep a track of them - there are one or two extra closing tags. Adoption of an indenting scheme to the code would also help this.
Following your navcontainer, you have the wrapper div. First inside this is the twocols div, which is 20% wide and floated right. Inside this is the maincol div which is 80% width - 80% of the 20% that is.. Your form elements are then way too wide (the inputs at 100 characters are too wide anyway - 30 to 35 would be enough) and hang out the right of the site.
Next thing inside the wrapper is the rightcol dv, which being floated right, floats to the left side of twocols. The leftcol div is outside the wrapper div, so it is at the bottom, floated left.
I would suggest the div order inside wrapper should be leftcol floated left first, followed by maincol floated left, followed by rightcol floated left. A negative right margin on rightcol may prevent IE adding up 10% + 80% +10% = 101%. The footer can then come after wrapper closes.
You are also using a framset doctype when not using frames, and are using xhtml tag closing ( /> ) whithout declaring xhtml doctype.