Попробуй открыть этот файл с правом доступа SYNCHRONIZE и жди на полученном описателе. Когда Wait... вернёт WAIT_ABANDONNED, это будет значить, что файл закрыли. Кстати, а что это за функция ReadFolderChangesW ??? В MSDN описана ф-ия ReadDirectoryChangesW. Имя файла для открытия можно будет получить от ReadDirectoryChangesW.