esta igual el codigo, es muy raro por que no sale de loop es como que no borrara ni avanzara  ¿? mira lo cortare y pegare tal cual como esta
'elimina sondaje
clabor_del = st_codlabor.Caption
'On Error GO TO   ' Inicializa el controlador de error.
    opcion = MsgBox("Confirma eliminar la Labor " & clabor_del & " y todos sus datos", vbOKCancel, "Sistema de Muestreo Geologico")
    If opcion = 1 Then
        Call deshabilitar_botones
        Datatabla.ClearFields
        elimino = 0
        bdgeo.UserName = st_login
        bdgeo.Password = st_passw
        bdgeo.ConnectionString = Conectar
        bdgeo.RecordSource = "SELECT * FROM sondajes.t_identi WHERE yacimiento=1 AND codlabor='" & clabor_del & "'"
        bdgeo.Refresh
        If bdgeo.Recordset.RecordCount > 0 Then
            'bdgeo.Recordset.MoveFirst
            Do Until bdgeo.Recordset.EOF
                 bdgeo.Recordset.Delete
                 MsgBox bdgeo.Recordset.Fields(0)
                 bdgeo.Recordset.MoveNext
                 MsgBox bdgeo.Recordset.Fields(0)
                elimino = 1
              Loop
              bdgeo.Refresh
            bdgeo.Refresh
        End If
        If elimino = 1 Then
            st_codlabor.Caption = ""
            a = MsgBox("Muestra eliminada Satisfactoriamente", vbOKOnly, "ATENCION")
        Else
            a = MsgBox("No se encontraron datos que eliminar", vbOKOnly, "ATENCION")
        End If
        co_op.Enabled = False
    End If
Exit Sub
If Err.Number <> 0 Then
   Msj = "Error # " & Str(Err.Number) & " fue generado por " _
         & Err.Source & Chr(13) & Err.Description
   MsgBox Msj, , "Error", Err.HelpFile, Err.HelpContext
End If
End Sub