自己解決しました。

HRESULTが単なるbool値モドキではなく、
失敗の原因毎に返す値が違うということを>>248-249のおかげで思い出す。
↓
メッセージボックスにHRESULTの値を表示させて
原因を特定するべきだと>>250のおかげで気づく。
↓
D3DERR_INVALIDCALLが返されていることが判明。
メソッドのパラメータに無効な値が設定されているかもしれない。
引数のウィンドウハンドルかD3DPRESENT_PARAMETERS構造体が怪しい。
↓
D3DPRESENT_PARAMETERS構造体を
ZeroMemoryでクリアするのを忘れていたことに気づくorz

単純ミスですみません。皆さんに感謝します。
これは、単にインスタンスを宣言するのとnewによる動的生成を行うのでは
メンバ変数の初期化のされ方が異なるということですかね?
この辺りに詳しい方は是非教えてください。