Could it be more along these lines....?
User 1 and User 2 both want to work on the same record
* User 1 enters the page and begins changing data.
* Before User 1 has submitted any changes, User 2 also enters the page and starts amending data
* User 1 submits changes, updating the database record.
* User 2 at this point *is unaware that the record has been updated*.
* User 2 submits changes. User 2 will overwrite Users 1's changes with whatever the values were when Users 1 & 2 both started working on the page, and whatever changes User 2 made.
This is a concurrency issue rather than a caching issue, there are lots of different ways of handling this. Have a read through some of these links, or Google
http://www.codeguru.com/csharp/.net/net_data/article.php/c19655/Handling-Concurrency-Issues-in-NET.htm[
^]
http://msdn.microsoft.com/en-us/magazine/cc163924.aspx[
^]