Come minimo devi mettere
height: 100%;
sia all'oggetto <body> che al <html>
Altrimenti questi diventano "il piu` piccolo possibile".

Inoltre la tua larghezza totale e` maggiore di 100% (solo nei browser standard, non in IE), per cui i due blocchi non possono stare affiancati.

Ma hai considerato di usare la tecnica delle "false colonne" ("faux columns") per simulare le tue colonne? Dato che i due blocchi sono larghi uguali, puoi usarle anche se non conosci a priori la larghezza della finestra.