>It's needed because VFP has to check the data record to see if it matches the filter or is deleted. That's my point. I put the GO BOTTOM there simply to move the record pointer away from the record which has already been found in the previous loop.
LOCATE is optimizable and go bottom and go top are not, so the effect of moving the pointer can be very different between these various techinques.