Using the BASS_STREAM_DECODE flag in the BASS_StreamCreateURL call will save a bit of time/memory for URLs that aren't dead. Also make sure that the BASS_CONFIG_NET_PREBUF_WAIT option is disabled (as is the default in the current BASS release).
If multiple URLs are on the same server then you could perhaps save some time by eliminating all of them if you can't connect to one of them. In that case, you should use a DOWNLOADPROC callback (and BASS_STREAM_STATUS flag) to detect if headers were received, ie. if headers were received then BASS was able to connect to the server and other URLs on the server may still be working. You may also want to check for BASS_ERROR_FILEFORM errors to detect URLs that are unplayable rather than dead.