Your confusion is understandable, but your understanding is flawed.
There's no difference between C++ and using MFC, MFC is a class framework written in C++, just like any other code you might write in C++. It's just a framework that Microsoft provides with their product.
C++/CLI (not CLR) is not really C++. It's a C++-like language that compiles to .net IL bytecode. It has many limitations, and has all the same restrictions that C# and VB.NET and other .NET languages have. It's very similar to C++, but not quite the same.
C++/CLI applications compile to .net IL bytecode, so they are no different than C# applications. In fact, pretty much any .net based language will compile down to the same bytecode, and use the same frameworks.
Whether or not C# or C++/CLI programs are "slower" is not so clear cut. All too many C++ enthusiests perpetuate the myth that managed code is slow. It's not. Some things are slow, such as running it the first time (it has to compile the code on demand), but because the .NET Jitter (just in time compiler) can optimize code for the platform it's running on, it came make the code perform better.
Of course managed code also has garbage collection, which is very convenient, but might cause issues with performance in some situations. But, this is not every situation and it's not even most situations.