Scrivo di getto, ma il div contenitore dovrebbe avere un clear: both. Prova cosi.

<div id="cont">
<div id="right"> quello che vuoi tu </div>
</div>

e con css:

#cont {
background-color: #ff0000;
clear: both;
width: 300px;
}
#right {
background-color: #ffff00;
float: right;
width: 100px;
}


In questo modo evidenzio meglio i due contenitori.
La larghezza è importante per i contenitori. Prova cosi. In caso non risolvi domani con più calma verifico meglio.