¿donde avanzas o retrocedes de registros en el bucle while?
Si se encuentra un registro, se edita y se borra
(no sé para qué pero bueno... eso es otra historia), el tema es que al borrar sí se avanza en los registros del adotable, pero si no entra en el locate, tienes un bucle infinito.
...creo!