La metodología de Hernan pareciera similar a la que uso.
En mi caso, al abrir una tabla, registro en disco que esta abierta, quien y cuando la abrió y en que modalidad.
De esa manera, por ejemplo, si alguien necesita la tabla en exclusiva, deja marcada la tabla como apertura exclusiva pendiente. Las otras aplicaciones, que utilizan el mismo procedure para abrir, detectan tal circunstancia y pueden mandar un aviso a los otros usuarios/aplicaciones para que cierren al menos el uso de esa tabla y cuando todos la liberaron, el peticionan-te puede ejecutar su solicitud de uso exclusivo.
Cuando alguien cierra una tabla, marca como que no la esta usando y ya esta.
Un programa administrador central, puede correrse en el servidor para detectar si hay tablas abiertas y no cerradas. Lo que puede indicar (si hace mucho que están abiertas sin cerrar) de que alguna aplicación termino mal y amerita efectuar una reindexación o un control de integridad como el que indique antes.
Las dbfs, con los recaudo correspondientes, pueden usarse con muchos usuarios y muchos registros.
Por supuesto que, es mucho mejor usar un SGBD, pero cuando el usuario no cuenta con alguien en el área de sistemas (o un área de sistemas, siquiera) que tenga algunas luces para hacer un backup mas complejo que apretar un botón, salvo Firebird y alguna otro SGBD, no existen facilidades (simplicidad) para copias de seguridad.
SQLite por ejemplo, si hay usuarios concurrentes modificando, es muy lenta.
Con mysql, usando myisam, si se puede hacer más o menos lo mismo, pero myisam no maneja transacciones, por ejemplo.