In caso di multiutenza prima di tutto si deve rieseguire la query... altrimenti non capisci lo stato reale dei record bloccati... che risulta non aggiornato.
Per passare al successivo non in uso io farei cosi:
Dim id as long
Id=me.idpk
Me.requery
With Me.RecordsetClone
.findfirst "id=" & id
Me.Bookmark = .Bookmar
.findNext "nomecampoflag=false"
if not .Nomatch then
Me.Bookmark=.Bookmark
Else
MSGBOX "Nessun record"
end if
End with
Fai attenzione alla gestione dei reset di quei flag.
Il sistema è molto rischioso