Alright, I updated the error checking code so it could be spammed more judiciously.
str = BASS_Mixer_StreamCreate(info.freq, info.chans, BASS_STREAM_DECODE|BASS_SAMPLE_FLOAT);
dec = BASS_StreamCreate(info.freq, info.chans, BASS_STREAM_DECODE|BASS_SAMPLE_FLOAT, STREAMPROC_DUMMY, 0);
Both of these give out BASS_ERROR_FORMAT.
BASS_Mixer_StreamAddChannel(str, dec, 0);
Is what gives out BASS_ERROR_HANDLE. I assume the problem lies in the decoder channel here, I don't think it likes STREAMPROC_DUMMY but I seriously don't get how I put my own WasapiProc there.