in reply to Implementing rowlocking

one user might update the row while the other users look at old data. They might make updates of the old data, thereby overwriting the changes of the first user.
first, ditto on using a solid RDBMS--you didn't mention what you're using ..

second, here's something on the app level you can do to help prevent this: Bugzilla used to (may still?) do something similar to this and would throw a "mid-air collision" error message.