Pour le positionnement absolu, c'est le plus proche ancêtre positionné qui sert de référence. En donnant le position:relative à #menu c'est lui qui sert de référence pour l'image excel. Le problème c'est que le menu ne prend pas toute la hauteur, il s'arrête à concurrence de son contenu et ne va donc pas jusque tout en bas. L'image excel sera donc au bas du menu mais pas tout en bas de la page comme souhaité.
Par contre le #center englobe le contenu et le menu. Il descend donc bien jusqu'au bas du contenu et donc en positionnant le excel au bas de ce div là il sera bien tout en bas de la "colonne" orange.
Par contre le height de 100% ne sert à rien (à part donner le layout à IE). Une valeur de height en % n'est prise en compte que si le parent à un height explicitement renseigné ce qui n'est pas le cas. De plus, si le contenu venait à être moins haut que le menu, le excel ne serait plus tout en bas puisque le menu étant flottant il ne sera pas pris en compte par le #center pour établir sa hauteur, d'où ma suggestion d'ajouter un overflow:hidden ou auto sur #center afin de régler ce cas (et donner le layout à IE6).
Il est important d'utiliser les différents éléments html pour bien structurer le document afin de le rendre plus aisément consultable par les différents médias. Un menu est une liste de lien menant vers les pages du site. le balise ul/li est donc plus approprié que l'utilisation de div, conteneur générique, dont la fonction première est le regroupement des éléments