Ransome,
Calling a form's Refresh() method also fires the code in the refresh of all objects in that form. So, to answer your question, you need to review the code of all refresh methods on all objects in the fomr to find out where the record pointer is being moved.