Instead of:
map.addEventListener("mousedown", handler_function, false);
do:
map.addEventListener("mousedown", handler_function, true);
Notice the „true” value in the second line of code. That means that we get the event during the capture phase. It seems that Bing Maps get the event in the same phase and then kill it, so you will not receive the event if you wait for it in the bubbling phase (like in the first line of code).