Reading can fail if a file is locked for writing, though normally that type of exception should be caught and handled gracefully; perhaps the quantity and/or frequency has something to do with it.
That is also one of the reasons why using a file as an intermediary for exchanging data is not ideal.
If you can send the data directly, using a second instance of VoiceAttack with the correct command line arguments/parameters, as mentioned, or another mechanism, E.G. sending the data over UDP to an inline function or plugin on the VoiceAttack side, would be more efficient.