First of all, Managed DirectX is not as slow as so many people think. It only has about 3-5% loss in performance according to the main Managed DirectX designer Tom Miller (and believe me, he knows what he is talking about!). This loss can be made up with development time descrease and in my opinion better design of DirectX for .NET. Why better design? If you have some kind of an IDE (doesn't matter what, could be Standard Edition of VS) for example you don't have to remeber hundereds of constants like using the SetRenderState method in C++ compared to RenderState in Managed DirectX which is a nice collection of properties. Your application will also be easier to debug, for example creating your own vertex formats that will fit Direct3D or having a list of clearly named structures.
Ultimately your choice will probably be affected which language you like more. For example an experienced C++ DirectX programmer has no reason to move to C#/managed DirectX.