さてさて、前回の続き。
おそらく、CreateProcessの第2引数は、LPTSTR lpCommandLineであることから書き込み可能な領域でなくてはいけないということなんだろう。いったい何の値が帰ってくる可能性があるのか、、、ということでMSDNでCreateProcessを見てみると
Windows NT/2000:このパラメータで const 文字列(リテラル;文字列定数)を指定すると、この関数の Unicode 版である CreateProcessW 関数は失敗します。
とのこと。ほんとだ、マルチバイトでコンパイル・ビルドすると問題なく動く。