Объясню суть ошибки:
msProduct расширяет класс modResource. Соответственно и запрос должен строиться с modResource:
$o = $modx->getObject('modDocument');
Если в данном случае будет получен объект msProduct, то будет эта ошибка, так как msProduct не является наследником modDocument.