おっと,まずいな。operator LPCSTR () があるんですね。
str += LPCTSTR(str) + n;
これでアクセス違反が発生します。
それから
C2char str = "nullpo";
str = str;
これもアクセス違反を起こしそう。