Credo di aver individuato il problema:
codice:
#menu ul li a{border-right:none}
...
#menu ul ul li a{border-right:1px solid #000}
Nel primo caso (quando il sottomenu e` chiuso) non c'e` il bordo destro
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