Извините, что не видел вопрос раньше.
Из того, что я вижу в вашем коде, тест не верный. Макрос FAILED () обозначает неправильное выполнение. Таким образом, из вашего кода, если вы видите «Failed» на консоли, это на самом деле означает, что выполнение метода прошло нормально.
Измените свой код на что-то вроде:
if ( SUCCEEDED(hr) )
{
cout<<"Model created succesfully";
}
else
{
cout<<"Failed";
}