you could have 2 scripts set off by script triggers
on object load "set variable: $$originalcontents to get(activefieldcontents)"
and an on object modify to script to display the dialog 'are you sure you want to make the changes etc etc, and you can display the global variable '$$originalcontents' in there too if they select no then
setfield('fieldname') to $$originalcontents
Set the layout to NOT save changes automatically. You'll get a confirm dialog when you try to commit the record.
I have gone with the simpler option of changing the layout preferences and this seems to be working well. I was hoping there would be a simple solution like this.