Why not use a SQLite database? It stores all it's data in a single file (which you can store on your network), and gives you the flexibility of a relational database where you can use techniques like pessimistic and/or optimistic concurrency checks. You'll also be able to more easily store each user's data.
EDIT: An SO question which deals with how to use SQLite from c# applications