ciao mi sono tovato nello stesso tuo problema, ho provato a fare un po di esperimenti:

risultato:
- clicco sul link e apre/chiudo il menu
- passando sul menu aperto, dovrebbe chiudersi quando il mouse esce dal div con id='menu' all' evento onmouseout, ma non funzia. Appena entro nel menu aperto si chiude subito

html:
codice:
	apri / chiudi
	<div id="menu">
		<ul id="lista">
			[*]link 1
			[*]link 2
			[*]link 3
			[*]link 4
			[*]link 5
			[*]link 7
		[/list]
	</div>
js:
codice:
	window.onload = function(){menuInit('menu','bott')}
	function menuInit(m,b){
		var stato = 'none';
		
		var menu = document.getElementById(m);
		menu.style.display = stato;
		
		// click bottone apre/chiude
		var bott =  document.getElementById(b);
		bott.onclick = function(){
			stato = (menu.style.display=='none' || menu.style.display == '')?'block':'none'; 
			menu.style.display = stato;
			if(stato == 'block'){
				menu.onmousemove = obj;
			}
			return false;
		}
		
		function obj(e){
			if(!e)e=window.event;
			var src=e.target?e.target:e.srcElement;
			var div = src.parentNode;
			
			div.onmouseout = function(){
				if(this.id == 'menu'){
					this.style.display = 'none';
				}
			}
		}	
		
	}
potreste postare un esempio semplice così che me lo posso studiare?

grazie