usi posizionamenti assoluti per la colonna 3, e larghezze in px per le altre colonne. Non e` possibie che ti funzioni come vorresti.

Devi usare float:left per la colonna 1 e 2, float:right per la colonna 3, e assolutamente non mettere larghezze nella colonna 2.
In alternativa, se vuoi mettere la larghezza nella colonna 2 (o inserire un'immagine molto larga), devi non usare larghezze nelle due colonne laterali, ma la cosa allora si complica.

PS. i margini vanno completamente rivisti, DOPO che hai realizzato il resto; per iniziare non metterli.