If "handle" is being played by BASSASIO then the problem is as in the 2nd link you posted, ie. BASSASIO will not see/play the data used in BASS_ChannelGetData/Level(s) calls on the same handle. BASS_ChannelGetLevel(s) could be replaced with BASS_ASIO_ChannelGetLevel, but BASS_ChannelGetData will be trickier to replace. The simplest solution is probably to create a mixer and plug "handle" into that with the BASS_MIXER_CHAN_BUFFER flag set, and have BASSASIO play the mixer. You can then use BASS_Mixer_ChannelGetData instead of BASS_ChannelGetData.
Regarding BASS_ASIO_ChannelGetLevel giving a BASS_ERROR_START error, that indicates the ASIO device hasn't been started. You can start it with BASS_ASIO_Start.