Как вызывать MultiByteToWideChar?
Так оно, наверное, нормально и переводит. Только printf не умеет с таким работать. Попробуйте wprintf вместо этого.
Юникодные константы объявляйте так:wchar_t* c=L"фывапр";
И выводить на консоль с помощью wprintf, как писал Владимир Мартьянов