Дак вроде транзакции это и делают. Открываешь транзакцию, когда пользователь что-то делает, он закончил, все, commit transaction.
Пока открыта транзакция у одного юзера, второй не сможет что-либо изменить.
Код:
ADOConnection.StartTrans
ADOConnection.CommitTrans