Основное отличие: .ocx неуправляемый, потому что MFC неуправляемый, контролируются .NET-элементы (если вы не пытаетесь использовать MFC в .NET или другие неуправляемые вещи).
Я думаю, что вы не можете сохранить свое приложение .NET как файл .ocx, по крайней мере, не существует стандартного способа сделать это, но вы все равно можете использовать элементы управления .NET в C ++, потому что они могут быть зарегистрированы для взаимодействия COM.