Vamos a ver: la concurrencia es para operaciones de lectura, porque el hecho que te bloquee la base de datos completa (o sea el archivo completo) al realizar una escritura (aunque más no sea por fracciones de segundo) para mí la descarta en cuanto a uso multiusuario. De acuerdo, se puede mediante código hacer que la aplicación "espere" hasta que la base de datos se desbloquee (cuando otro usuario -o aplicación- escribió) y recién ahí realizar el acceso,
pero eso me parece una chapuza. Funciona, pero en ese caso prefiero optar por un verdadero motor SQL cliente-servidor (¿ dije Firebird ?
). Dejemos a SQLite para lo que es, un sistema de base de datos monousuario libre, veloz, sin instalación y altamente portable...en eso no tiene rival.
Firebird en versión "embebido" también bloquea el archivo, pero tiene la ventaja que es mucho más fácil realizar la migración a la versión cliente-servidor común, porque el formato de la base de datos es el mismo.