Would you hire an experienced C++ programmer to do a C# project?
Depends on the stage and projected duration of the project. If it's a long-term project (i.e. a couple of years or longer) in its beginning, then yes, if the C++ dev is good, I'd hire and train him. Overall programming prowess is more important than control of a single programming language / environment, with the caveat that there should be enough time to train the person in the new language / environment.
If the project is in maintenance and new features are due next month, then probably not.
It really depends on the complexity of the C# project. If it's relatively straightforward, then yes. However, if it's highly complex, then probably not. While C# has many similarities to C++, it also has many differences. If you've written any personal projects in C++, I would recommend porting some of them to C# using Visual Studio Express. That would be a good way to start giving you a feel for the language, and it would allow you to say that you have had some experience with C#. When asked at an interview you can launch into describing what you have done and what you found interesting as you engaged in the learning experience.
Experienced? No - at least not as the main criterion.
Good? Yes.
A good programmer is a good programmer in pretty much any language, especially ones that are quite close in paradigm like C++ and C#.
You'll have to spend some time teaching the C++ developer about the tricks and pitfalls of garbage collection though.
A bit vague. If they wrote device drivers in C++ all their life and the current project called for a nice GUI in WPF, then maybe not.
Generally speaking, though, if you are proficient in one language and the general concepts of software development, you can pick up a new language in ~1 week or less. I did ASP.NET/C# for four years and then out of nowhere got thrown into writing a Flex application; after a brief period of adjustment, I was fine.