Тут не в многопоточности дело, точнее не в ней одной.
Попробуйте читать файл порциями в буфер, сохранять позицию и закрывать файл. Wavio минималистичная, у нее только пара функций и устанавливать позицию она не умеет. Но внутри там wave, у которой есть tell и setpos.
При записи обратите внимание на буферизацию, т.е. когда именно происходит запись на диск.