Cita: Tengo un fondo en el body que quiero que se vea por encima de cualquier otro elemento de la web.
Cita: div#fondo{
position:fixed; /*En caso de que lo quieras fijo*/
background-image:url('images/bg.jpg') no-repeat transparent;
width:100%;
height:100%;
z-index:100; /*Evitar tener algun elemento con z-index superior*/
}
No sé que necesidad hay con ponerlo en el body.
El resto no te entiendo:
el típico problema de z-index