It's not possible to change the "status callback", but that wouldn't tell you the buffering % anyway (just when buffering started/stopped). You can get the buffering progress via the IWMReaderAdvanced2 interface...
IWMReader *wmr=BASS_WMA_GetIWMReader(handle);
IWMReaderAdvanced2 *wmra2;
wmr->QueryInterface(IID_IWMReaderAdvanced2,&wmra2);
DWORD percent;
QWORD timeremain;
wmra2->GetBufferProgress(&percent,&timeremain);
wmra2->Release();