Harry,
You do this. Create a textbox class for this purpose. Give the class a custom property named lLookUp, set it to .F. in the GotFocus() of the textbox class.
Now put one of those in your form. In the vlaid check your issues and set the lLookUp property appropriately. In the LostFocus respnd to the value of the lLookUp property by calling the LookUp form if needed and then responding to the return vlaue form that form by either SetFocus to the textbox itself, This.SetFocus() followed by NODEFAULT or nothing, which will allow focus to go where it will go.
Your problem in the look up form will go away because you are no longer calling it form the Valid.