You can add a field that auto-enters the modification timestamp. Your script can perform a find to find all records with a modification timestamp field value greater than a timestamp value that records the date/time of the last run of your backup script.
Thanks Phil I'll try that when I get a chance but it's not just changes to records I'm thinking of.
Ideally I'd like it to apply to any changes, including creation/editing of layouts, scripts, fields, etc.
It may depend on your Plateform Windows/MacOS. If you want that System Genereated Modified Date, I know for MacOS, that date is modified when you open the File and do just about anything that changes that file.
An idea would be to ask, in a ShowCustomDialog, for the System Generated Date as first thing you do[StartUpScript], before it is changed by the OS.
It will quickly change.
Come to think of it, it would be easier to Ask the User if he changed anything in an On Exit Script and save that TimeStamp.
Frankly, when actively developing the file, I just set a script to save timestamped backup copies every 15 minutes or so. I don't bother trying to determine whether the file has been changed, I just make lots of back up copies.