@Chris:
Yes! That's another way to do what I suggested not to do, and the fx example will suffer from the same weakness I pointed out first: the file stream won't be freed if BASS_FX_TempoCreate fails, because a "0" will be stored in "chan" and BASS_StreamFree(chan) will fail.