The BASS_StreamCreateFile "offset" and "length" parameters deal in encoded file data, while BASS_ChannelSeconds2Bytes deals in decoded sample data, so the latter can't be used to set the former. If you want to play the first 5 seconds of a file, you can instead use a "mixtime" BASS_SYNC_POS sync and BASS_ChannelStop to end the stream after 5 seconds, like this...
stream=BASS_StreamCreateFile(FALSE, filename, 0, 0, 0); // create a stream
QWORD endpos=BASS_ChannelSeconds2Bytes(stream, 5); // translate 5 seconds to bytes
BASS_ChannelSetSync(stream, BASS_SYNC_POS|BASS_SYNC_MIXTIME, endpos, EndSyncProc, 0); // set a POS sync there
BASS_ChannelPlay(stream, 0); // start playing
...
void CALLBACK EndSyncProc(HSYNC handle, DWORD channel, DWORD data, void *user)
{
BASS_ChannelStop(channel); // end the stream
}