Cuando borras el registro del recordset tienes que tener en cuenta que al volver al DataGrid sepa que esa línea ha desaparecido. Si no cuidas ese detalle te da error por perderse entre varias filas entre las que no encuentra donde apuntar...
With Adodc1.Recordset
.Delete
.Update
If Not .BOF Then
.MovePrevious
DataGrid1.SetFocus
End If
End With
Con estas líneas, además de borrar el registro cambias el puntero y evitarás el error, espero...
Saludos y suerte