Ja, maar je hebt stiekem de maten van csshunter verhoogd

#maincol heeft links en rechts 'n marge van 400 px, en de min-width is 530px. #maincol is dus altijd minimaal 400 + 530 + 400 = 1330 px breed.
Op 'n kleiner scherm (zelfs al op 1024 px breed), wordt dan de inhoud van #maincol inderdaad aan de rechterkant onder #rightcol gezet.
Als je de maten zou gebruiken die csshunter gaf en die jij voorstelde, dan gaat 't wel goed. marge van #maincol links en rechts 310 px, min-width 200 px. Samen is dat 820 px. Alleen gaat 't dan nog 'n heel klein beetje mis op 'n 800x600-scherm, maar dat is minimaal en zie je zelfs nauwelijks,
Er zijn twee oplossingen mogelijk: maak de marges smaller en de min-width ook. Nu is de minimumbreedte van #maincol minimaal 1330px, dat past zelfs niet goed op 'n 1280 px breed scherm.
De tweede mogelijkheid is dat je aan div#wrapper ook 'n min-width geeft. Die min-width moet dan even groot zijn als de totale breedte van #maincol.
Als #maincol marges heeft van 310 px en 'n min-width van 200, krijgt div#wrapper dus 'n min-width van 820 px.
Dan blijft alles keurig staan op 'n 1024 px breed scherm (en groter) en ook op 'n 800 px breed, maar daar krijg je dan 'n hele kleine horizontale scrollbalk.
Als je jouw maten wilt aanhouden (marge links en rechts 400 px, min-width 530px), dan moet div#wrapper 'n min-width van 1330 px krijgen. Maar daar maak je je bezoekers beslist niet blij mee, want dat betekent dat iedereen 'n horizontale scrollbalk krijgt, op de enkele bezitter van 'n heel breed scherm na.
(Overigens kent Internet Explorer 6 geen min-width. Dat kun je oplossen met allerlei ingewikkelde dingen, maar inmddels vind ik (en vele anderen) dat 'gewoon leesbaar' goed genoeg is voor Internet Explorer 6, want anders komen we nooit van dat onding af. Maar misschien denk jij daar anders over.