The overload taking a filename is actually internally calling the other overload - so I am pretty sure it is working.
Actually the filename overload simply calls the following:
int decodingStream = Bass.BASS_StreamCreateFile(filename, 0, 0, BASSFlag.BASS_SAMPLE_FLOAT | BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_STREAM_PRESCAN);
return DetectCuePoints(decodingStream, blockSize, ref cueInPos, ref cueOutPos, dBIn, dBOut, findZeroCrossing);