>>761,>>762
コールツリーというからには、やっぱりスタックに積まれている戻り先(およびスタック上のローカル変数を取り除くため ebp 値)をチェックしているような気がします。
CG32.dll というのは、CodeGuard の dll で、バージョン6 ともなると、カーネルの下に潜っているのかも。
>> 0x0CD1E0DA(=CG32.DLL:0x01:01D0DA)
>> 0x0CD15098(=CG32.DLL:0x01:014098)

BCC5 くらいの手元の codeguard では、でたらめポインタのアクセスは捕らえられず、new/delete しかチェックしてくれないみたい。
また、global な new を補足してしまうと、こちらの手元の codeguard 的にはまずいようです。�@

あと、
p = new char [ n ];
したものは、
delete [] p;
としないといけませんでしたね。この点は怒られてしまった。�A

�@�Aについてだけ対応したものを残しておきます。http://codepad.org/gMI6MnFz codepad 上でも無事コンパイルがとおり実行結果まで得られるようになってめでたしめでたし。