Bueno, ¿de dónde lo has sacado? mirando ahí podríamos ver cuáles son las diferencias entre el original y el tuyo.
No sé muy bien que quieres decir con "funcionar", pero sí te aseguro que tienes muchos selectores que no sirven absolutamente para nada tal y como están.
Por ejemplo, todos estos no hacen nada:
Cita: .home #menu li#home a b {left:48px; top:-48px; width:64px; height:0; padding-top:64px; overflow:hidden; background:url(lay/bhome.png);}
.colabora #menu li#colabora a b {left:48px; top:-48px; width:64px; height:0; padding-top:64px; overflow:hidden;background:url(lay/bcolabora.png);}
.contacto #menu li#contacto a b {left:48px; top:-48px; width:64px; height:0; padding-top:64px; overflow:hidden;background:url(lay/bcontacto.png);}
.newsletter #menu li#newsletter a b {left:48px; top:-48px; width:64px; height:0; padding-top:64px; overflow:hidden;background:url(lay/bnewsletter.png);}
.rss #menu li#rss a b {left:48px; top:-48px; width:64px; height:0; padding-top:64px; overflow:hidden;background:url(lay/brss.png);}
.foro #menu li#foro a b {left:48px; top:-48px; width:64px; height:0; padding-top:64px; overflow:hidden;background:url(lay/bforo.png);}
bórralos y verás.
Todos los que empiezan por * html son sólo para explorer.