Io inizierei con il PULIRE le cose inutili:
Private Sub cmdCerca_Click()
Dim lngIDIntestazione As Long
lngIDIntestazione = Me!subfrmPazientiFrmNuovaPrestazione!IDIntestazionePrestazione
Me.lstProdotti.Requery
Me.lstProdotti.Visible = True
With Me.subfrmPazientiFrmNuovaPrestazione.Form.RecordsetClone
.FindFirst "[IDIntestazionePrestazione]=" & lngIDIntestazione
Me!subfrmPazientiFrmNuovaPrestazione.Form.Bookmark = rst.Bookmark
Me!subfrmPazientiFrmNuovaPrestazione.SetFocus
End With
End Sub
Se ancora hai problemi di sfarfallio...
Private Sub cmdCerca_Click()
On Error Goto Err_Handler:
Dim lngIDIntestazione As Long
Me.Painting=False
lngIDIntestazione = Me.subfrmPazientiFrmNuovaPrestazione.Form.IDIntestazionePrestazione
Me.lstProdotti.Requery
Me.lstProdotti.Visible = True
With Me.subfrmPazientiFrmNuovaPrestazione.Form.RecordsetClone
.FindFirst "[IDIntestazionePrestazione]=" & lngIDIntestazione
Me!subfrmPazientiFrmNuovaPrestazione.Form.Bookmark = rst.Bookmark
Me!subfrmPazientiFrmNuovaPrestazione.SetFocus
End With
Exit_Here:
Me.Painting=True
Exit Sub
Err_Handler:
Resume Exit_Here
End Sub