Насколько я понял, у тебя в строке были русские символы:
SysAllocStringByteLen — не проводит конвертацию из ANSI(CP1251) в Unicode.
Тебе сначала надо ручками перевести из char в уникод, через MultiByteToWideChar(это где-то ниже уже делалось, скорее в WinApi), а затем уже через SysAllocString делать BSTR