We do something on this line here. The records in the selection dataset are pulled from the base table(s) using a SELECT statement into a table that is the grid source. The grid DOES have a delete column. The user marks the records they want using the delete (they don't know its a delete), we SELECT * WHERE DELETED() into a cursor, then zap the original temporary table and copy the cursor back.
To the user, it looks like they mark the records they want, and then when they hit the "REFRESH" button, all of the unmarked records disappear. Whatever is left in the table is what they get to process.
"It came to pass"