Are you sure your MP3 files don't just have some silence at the beginning, eg. is it not present with other players? If so, please upload an example troublesome file to have a look at here...
ftp.un4seen.com/incoming/If the files do contain silence, and you would like to skip it, you can use BASS_ChannelSetPosition (rather than the BASS_StreamCreateFile "offset" parameter) for that. Detecting the silence and skipping it could be done something like this...
DWORD silence=0;
while (BASS_ChannelIsActive(handle)) {
short buf[20000];
int a, b;
a=BASS_ChannelGetData(handle, buf, sizeof(buf)); // decode some data
a/=sizeof(short); // bytes to samples
for (b=0; b<a && !buf[b]; b++) ; // count silent samples
silence+=b*sizeof(short); // add it to the total
if (b<a) break; // sound has begun!
}
BASS_ChannelSetPosition(chan, silence, BASS_POS_BYTE); // seek to the start of the sound
You may also want to add the BASS_STREAM_PRESCAN flag to your BASS_StreamCreateFile call, to enable precise seeking on MP3 files.