Pues entonces tiene que ser que no entiendo tu problema.
En este ejemplo, en el primer div de enmedio no hay width, y salen el de encima y el de debajo pegados, y en el segundo sí tiene width, y se hace un hueco entre ellos. El código es este:
Cita: <div id="mensaje1" style="width:100%; height:20px;background-color: #f00;"></div>
<div id="mensaje"></div>
<div id="mensaje3" style="width:100%; height:20px;background-color: #f0f;"></div>
<br/><br/>
<div id="mensaje1" style="width:100%; height:20px;background-color: #f00;"></div>
<div id="mensaje" style="width:100%;"></div>
<div id="mensaje3" style="width:100%; height:20px;background-color: #f0f;"></div>
Es decir, dos bloques (rojo y lila) y el de enmedio, que sería el que debería desaparecer.
A ver si descubrimos dónde está el problema.
Mikel.