The problem occur when I want to add some "Coordinate" object to that field:
VARIANT CoordVar;
VariantInit(&CoordVar);
CoordVar.vt = VT_ERROR;
CoordVar.lVal = 0;
if(SUCCEEDED(m_coordFMNode->Add(Coordinate, &CoordVar)))
AfxMessageBox(L"add Coordinate succeeded");
What exactly is the problem?
(By the way, you're filling in variant for the optional parameter incorrectly. I think this is not a problem in this case, but please read on how to pass optional arguments here: http://support.microsoft.com/kb/q154039/ )