el overflow:hidden; (si solo quieres limpiar los floats sin mostrar el scroll) se aplica el <div> contenedor... que en su interior (en tu caso) tiene 2 capas flotadas.
pero tu no tienes capas flotadas, asi que el overflow nose para que lo quieres, ya que tanto al div padre como a los hijos le tienes asignado un
height fijo asi que no se como quieres que cresca si tienes las medidas limitadas (tienes un height:100%; a "#cuerpo" pero este no es el contenedor general asi que esta demas) me parece que tienes un pequeño lio alli y no logro entender que quieres hacer