Эта проблема похоже в сетевом взаимодействии. Теряются пакеты в сети по пути следования и коннект зависает пока не передернуть - на сервере коннект отваливается по таймауту, а клиент не в курсе этих событий.
Как временное решение - переоткрывать файл если не было обновлений последнюю минуту.
Но по всей видимости, проблему можно решить проще написав под это дело свой сервер, который просто будет рассылать всем подключившимся клиентам изменения вносимые в файл. По всей видимости, изменения в код необходимо внести минимальные - вместо функции открытия файла подставить функцию открытия сокета, а чтение заменить чтением из сокета.