Ho trovato la soluzione al mio problema.
L'errore stava qua:

'Store the data in the file
Put intBinaryFile, Len(fh) + Len(wf) + Len(ch) + 1, gbytData1
Put intBinaryFile, , gbytData2

Bisogna specificare correttamente anche la posizione di scrittura del secondo array di byte:

'Store the data in the file
Put intBinaryFile, Len(fh) + Len(wf) + Len(ch) + 1, gbytData1
Put intBinaryFile, Len(fh) + Len(wf) + Len(ch) + 1 + glngChunkSize1, gbytData2

così funziona con tutti i tipi di wave.

sero