Hi Mike,
I guess this is a general question, because it's not related to Nettalk apps, but rather to any app, Web or Windows.
On the one hand, yes, backups are an option. And in most cases are pretty much the only option "out the box". Whether you need a more advanced option I guess depends on how often your clients plan to delete records which they shouldn't be deleting. In no particular order, here are some suggestions;
a) don't give them a delete button in the first place. For some tables - especially lookup-tables, and invoices, they're not necessary for most users anyway. Coupled with this idea, you might limit delete buttons to a very small subset of users.
b) Don't actually "delete" records when they press the delete button. Instead change the action to "change" and set a "deleted" flag. Then set your browse to usually filter out "deleted" records. In NetTalk you can do this in the ValidateDelete embed point - setting ans to net:ChangeRecord, and setting the flag field to 1.
c) moving deleted data to an "archive" file. Usually easiest if you're using a SQL backend, as you can construct a SQL statement to re-insert the records you are deleting.
d) Tell the client not to be a moron... That's what "Are you sure you want to delete this record" is for? Charge a lot to recover the data from a backup.
Cheers
Bruce