All Forms Devlopers must be aware of the infamous error
FRM-40654 : Record has been updated by another user. Re-query to see change.
This happens under the following conditions :
1) Developer does not understand the forms SQL processing logic and tries to issue his own insert, update,delete and query statements
2) Another user has Updated the records and committed , that the first user is trying to update now. The first user's data is now stale. so forms issues the error message.
3) This reason is very unknown but quite common. You use a pre-insert or pre-update trigger at the database level to change values to database columns. But these are not passed back to the forms after commit is made. So you get the error this time too, eventhough you are the only user. In this case best way is to "Set the DML Returning Value at the Data Block level to Yes" .
Note : This property is available forms 6 and above only.
In case of previous versions, you need to requery the data.
Hope to comeup with something more interesting ,