Well, this isn't normal behavior for Valid returning .F.. The cursor simply remains at its last position if the valid returns .F. You've probably already done this, but I'd set a break point in the LostFocus event (even if it meant adding some meaningless code). If that fires, then something is resetting the focus to the control. If it doesn't then it never got out of Valid.
George
Ubi caritas et amor, deus ibi est