Hi Nicholas.
SET DELETED is on but the grid still shows the deleted record.In order to have the record disappear, you need to move the record pointer in the grid's RecordSource. The code will do it for you:
lcRecordSource = Thisform.MyGrid.RecordSource
DELETE IN ( lcRecordSource )
SKIP IN ( lcRecordSource )
IF EOF( lcRecordSource )
SKIP -1 IN ( lcRecordSource )
ENDIF
Thisform.MyGrid.SetFocus()