Credo di aver individuato il problema:
Nel primo caso (quando il sottomenu e` chiuso) non c'e` il bordo destrocodice:#menu ul li a{border-right:none} ... #menu ul ul li a{border-right:1px solid #000}
Nel secondo caso (sottomenu aperto) c'e` il bordo destro, che quindi "si fa spazio" spostando anche il blocco del primo livello.
Soluzioni possibili:
- togliere il bordo al sottomenu
- aggiungere il bordo (eventualmente bianco o trasparente) al menu di primo livello
- diminuire la dimensione del sottolivello di quanto occupa il bordo
... ecc su questa linea