display: none -> significa que ni el ojo lo ve (el navegador no lo muestra) ni los demás elementos lo sienten (se comportan como si no existiese)
Código CSS:
Ver originaldiv#menu ul li a:hover ul, div#menu ul li:hover ul {
display: block;
position: relative;
left: 0px;
}
display: block + position: relative significa que el ojo lo ve y los demás elementos le tienen que hacer sitio.
Por lo tanto al mostrarse después que la página haya sido acomodada, el navegador tiene que mover todos los elementos para hacerle sitio.
Para que ello no ocurra, saque completamente esa lista (ul) del flujo cambiando el valor de position a absolute.
Y recuerde cuando modifique un código debería hacer sólo un cambio por vez y verificar.