自己レスになります。
Excel2002では、メタファイル形式の要求で表示内容(メタファイル)のリクエストが来ますが、
Excel2003以降では、拡張メタファイル形式の要求で表示内容(メタファイル)のリクエストが来ます。
MFCの既定の実装では、拡張メタファイル形式の要求では、COleServerItemの派生クラスのOnDraw関数が反応しないため、表示内容の更新が行われていませんでした。
そこで、以下のコードの通り、COleServerItemの派生クラスのOnRenderData関数で、
拡張メタファイル形式の要求をメタファイル形式へ変更すると、COleServerItemの派生クラスのOnDraw関数が呼ばれ、表示内容の更新が行われました。
同じ現象で困っている方がおりましたら、ご参考ください。
CMyOleServerItemは、COleServerItemの派生クラスです。
BOOL CMyOleServerItem:: OnRenderData(LPFORMATETC lpFormatEtc, LPSTGMEDIUM lpStgMedium)
{
// MFC(既定の実装)は拡張メタファイルに対応していないので
// ここでサポートする
if (lpFormatEtc->cfFormat == CF_ENHMETAFILE) {
// 拡張メタをメタに落とし込む
lpFormatEtc->cfFormat = CF_METAFILEPICT;
lpFormatEtc->tymed = TYMED_MFPICT;
}
return __super:: OnRenderData(lpFormatEtc, lpStgMedium);
}