The extra delay when using the mixer is due to the mixer's playback buffer. The size of the buffer is determined by the BASS_CONFIG_BUFFER setting at its creation, so you can reduce the delay by lowering that (it defaults to 500ms) via BASS_SetConfig. For a small buffer, you will also need to lower the update period via the BASS_CONFIG_UPDATEPERIOD setting, as that limits how low the buffer can go. For example, to give the mixer a 100ms buffer, you might do something like this...
BASS_SetConfig(BASS_CONFIG_UPDATEPERIOD, 40); // set the update period to 40ms
BASS_SetConfig(BASS_CONFIG_BUFFER, 100); // set the buffer length to 100ms
mixer=BASS_Mixer_StreamCreate(...); // create the mixer
If you would like to pause everything that the mixer is playing, you can avoid any extra delay by pausing the mixer (via BASS_ChannelPause) instead of its source(s).
Regarding your VU meter... if you would like to get the level of a mixer source for that, you can add the BASS_MIXER_BUFFER flag to its BASS_Mixer_StreamAddChannel call and then use BASS_Mixer_ChannelGetLevel (instead of the usual BASS_ChannelGetLevel).