結論: 単純に、include/lib設定が Program Files (x86) に対応してないだけでした。
既定値で動かないのは明らかにテスト不足だと思います。>VS開発チーム
(ひょっとしたら、うちの環境の作る順番とか原因かもしれないけど...)
具体的に言うと、Wizardでプロジェクト作るだけで、
midl : command line error MIDL1001 : cannot open input file oaidl.idl
こんなビルドエラー。
対策としては、
[ツール]/[オプション]/[プロジェクトおよびソリューション]/[VC++ディレクトリ]
の、
[プラットフォーム] → 作成したいWindows Mobile環境
[ディレクトリを表示するプロジェクト] → [インクルード ファイル] と[ライブラリ ファイル]
を開くと、
C:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\include\ARMV4I
C:\Program Files\Windows Mobile 5.0 SDK R2\PocketPC\include
とかなっていると思います。
x64環境で、Windows Mobile SDKは通常 Program Files (x86)にインストールされるので、[Program Files] → [Program Files (x86)] と変更するだけ。
あと、おかしいなー、と思ってMIDLの[追加のインクルードファイル]にフルpathを入れたら、空白を含むpathに対応してなかったのもちょっと酷いかも...。