di solito è il float che da questo tipo di problema, mi sa che hai utilizzato un po troppi clear both .

prova così:
codice:
hr
{
	clear: right;
	margin: 0;
	visibility: hidden;
}
poi aggiungi:

codice:
<div style="clear:left;"></div>
subito prima di #footer. per questo ti puoi pure fare una classe tipo:

codice:
.recupero_left{
  clear:left;
  font-size:0px;
  line-height:0px;
  height:0px;
}
insomma prova a recuperare il float con il corrispondente clear (float:left;->clear:left già IE si affatica da solo , non lo facciamo pensare troppo .
a questo link trovi un articolo che ti può essere utile.

Credo poi sia meglio specificare una larghezza fissa per div.news, tanto è un layout a dimensioni fisse.

poi se mi posso permettere, ridai un'occhiata al css, specifichi alcune proprieta inutili