The only effective way to imlement the same type of pessimistic record/row locking that one finds in xBase is to add a lock status (logical column) to the SQL Server table.
Your app must take the responsibility for checking that a row isn't locked beforehand, locking it by setting the status to true, and then setting the status back to false when you're done (maybe in an update trigger).
Only issue with that is if someone starts to edit, gets the lock, and then the system hangs. I've seen people implement jobs and/or additional lock date/time columns to manage some of that.
Kevin