BSTR равно wchar_t*
, что касается MessageBox, так что вы можете передать его непосредственно в MessageBoxW.MessageBoxW(hwnd,bStrVal,...);
Для MessageBoxA
вы должны конвертировать с WideCharToMultiByte
.
Предложение: всегда используйте Unicode в своих приложениях, никогда не оставляйте его.