Не уверен, что не работает из-за этого, но вы не передаете объект события в вашу функцию stop_bubbling():
function assign_event(elem, list) {
elem.onmouseover = function(e) {
//alert(list.nodeName);
//list.style.display = "block";
alert("yes");
stop_bubbling(e);
}
//elem.onmouseout = start_hide;
}
function stop_bubbling(event) {
event = event || window.event;
if (event.stopPropagation) event.stopPropagation();
else event.cancelBubble = true;
}