Я думаю len может быть больше размера msg и происходит уход за границы. Увеличь размер msg и добавь проверку.
char msg[256];
...
if ( len >= sizeof( msg ) )
return true;
params->bitStream->Read(msg, len);
msg[len] = 0;
.....
Ну да, res в AddChatMessage замени на res[1].str().c_str()