@TexasToast: I don't know where this "clean" myth comes from, and C++ code being horrible. It can be OO can it not? You can make neat abstractions as deep as you want, can you not? Heck you can even have multiple inheritance in more than a way. Give it a chance and use it some more, when you're thinking horrible. It really depends what you're doing. It's OK to use C# and C++ in the same project, it really is, you don't have to use one language for everything That's rather limited.
I would advise to check the new standard, just to see the kind of changes C++'s got. I wouldn't call that stagnation.
I tend to prefer C++ nowadays, but that doesn't mean I wouldn't enjoy building some rich UI with WPF using C#. Sometimes I do wish C# had multiple inheritance or templates to aid solving the particular problem I'm working on in a nicer clever way. Sometimes I wish C++ had reflection. That's fine, nothing wrong in combining tools, that's what they were made for.