The STREAMPROC is (of course

) called before any FX/DSP are applied, so if you write the data to disk in there, it won't have the effects present. You should write the data to disk in the RECORDPROC instead, after feeding it through the custom decoding stream (the BASS_ChannelGetData call).