Te pongo un código esquemático de lo que pondrías en tu botón de GRABAR datos (y luego limpiar el grid):
*Aquí pones tu código para añadir registros. (Append Blank, Insert)
Thisform.MiGrid.recordsource='' (Quitas el origen de datos, para que el grid no se destruya al borrar)
SELECT Mitabla
GO TOP
DELETE ALL
* Puedes hacer un ZAP si tienes activada la opción sesion privada de datos en tu form, ya que los cursores serán locales.
IF EOF()
Thisform.Refresh()
Thisform.txtNumdeFactura.setfocus()
ELSE
SKIP -1
ENDIF
WAIT WINDOW 'Limpiando el area del grid' TIMEOUT 2
Thisform.MiGrid.recordsource="NombredemiCursor" (Ya que pasó la tormenta del borrado reasignas el origen de datos del grid)
Thisform.MiGrid.Refresh() (Y actualizas el grid para que refleje los cambios como lo hace la tecla F5 en el escritorio de windows o el boton actualizar en navegador web, o al menos esa es la idea jeje).
GO TOP (Para que vaya al primer registro del grid y se vean todos los datos, que claro, ya no existen jeje..)