Código:
with TURecordset
.Delete
IF .EOF then
.MoveLast
else
.movenext
end if
end with
lo que esta pasando es que primero tratas de mover tu recorset al siguiente y despues hacer la comprobación del EOF, primero tendrías que hacer la comprobación del EOF para ver si lo puedes mover.