Ciao, credo basti fare così.
Va bene usare l'evento Frame1_MouseMove, ma devi usare anche l'evento Form_MouseMove. Quando si verifica Frame1_MouseMove imposti una veriabile tipo PosizioneCursore="Frame", ovviamente quando si verifica Form_MouseMove usi PosizioneCursore="Form". La routine che devi far girare la fai partire solo quando il contenuto della variabile passa da "Form" a "Frame".
codice:
sub Form_MouseMove(xxxxxxxx....)
PosizioneCursore="Form"
end sub
sub Frame1_MouseMove(xxxxxxxx....)
if PosizioneCursore="Form" then
PosizioneCursore="Frame" 'imposti subito il valore, perchè se la routine dura tanto continua ad entrare qui.
RoutineEvento()
endif
PosizioneCursore="Frame"
end sub