Each time you add or remove an object from the type information, you have to call ICreateTypeInfo::LayOut. The LayOut method assigns VTBL offsets and member identifiers (same as DISPIDs) to the objects in the type information.
hr = m_pRuntimeTypeInfo->LayOut();
After the call to LayOut, the VTBL offsets and member identifiers are available through the ITypeInfo structure for the object.