специфика заголовков под Б3Д описана тут:
http://albalynx.com/articles/docs/Russian/pg_lang.html
за красной чертой. Там вместо одного указателя передаются две переменные. Есть еще две функции с отличиями.
Да, глюк с исчезанием наблюдается. В Хорсе помогает xFlushMouse()
If (xMouseHit(2)) Then
xFlushMouse()
alOpenContext(context, Null, xMouseX(), xMouseY(), width, height, alGetValueI(fm_point_pos), alGetValueI(fm_point_menu));
EndIf
В блице что-то от него толку нету. Придется использовать MouseDown, как ты правильно заметил. Чтоб меню не таскалось за мышкой нужно чуть-чуть усложнить условие, думаю знаешь как.