проблема с блокировкой файла причтении записи решается путем создания FileStream и указания способа доступа и шэаринга. А дальше уже создавайте StreamReader/StreamWriter Тогда можно будет одновременно все делать. Но через файл работать, не избавляет вас ни от одной проблемы описанной выше

. Все будет совершенно так же. Неясно записано или нет. Считано или нет.
Работа через файл БД проблему блокировки файла конечно снимает, за счет блокировки таблицы на запись с возможностью чтения. Но это уже движок БД сам делает. Но опять же не избавляет от проблем в моем посте выше.