With looping decoding channels (BASS_STREAM_DECODE + BASS_SAMPLE_LOOP), there is indeed currently a window between the decoder ending and looping where BASS_ChannelIsActive will return 0. BASS_SYNC_END sync callbacks (and BASS_SYNC_POS syncs at the end position) occur in that window, and I guess it's possible that some users could be relying on BASS_ChannelIsActive returning 0 within those callbacks, so I'm not sure it's totally safe to close that window now. Is it causing problems for you?
Looping playback channels (without BASS_STREAM_DECODE) generally won't have that window because there's still data in the playback buffer, and BASS_ChannelIsActive won't return 0 until that's been played.