単純な PCMSTREAM SINDATA,RATE なら大丈夫そうですが、そうではなくて、動的に再生音を書き換えるってことですよね。
PCMSTREAMの再生音は、配列とは別の内部バッファ(FIFO)へある程度のまとまって転送されているようです。そのため、配列の再生位置をMILLISECで計って、その直後を書き換えても間に合わないのだと思います。
VSYNC 1のループでPCMPOSシステム変数を監視しておいて、PCMPOSの値が前回から変化したら、前回位置からPCMPOSの進んだ量(リングバッファなのでPCMPOSが戻る場合に注意)だけサンプルをRINGCOPYで転送するとよさそうです。
あと、書き換えから再生までのラグを短くしたいなら、もうちょっと工夫が必要です。
PCMSTREAM はあまり触っていないので的外れかもしれません。
3そうだね プレイ済み