I'm the author of SharpDX, so my advice is going to be biased, but I would like at least to respond about some of your concerns.
About SharpDX documentation, the current state is very limited, as I have been working so far to bring the whole DirectX API accessible from .NET and new Win8 OS. As I'm closed to finish on this side, I'm working on providing a full website and some articles to explain key concepts of SharpDX, and how you can get the best of it. Also, keep in mind that this project is mainly to bring DirectX to .NET, so It is still a low level API. So it requires you to dig a little bit into the behavior of the C++ API in order to understand how it is working. Fortunately, almost every single method in SharpDX does map to a single method in the DirectX API, so It is easy to check how to use a method by checking DirectX API. The documentation system that will be available with SharpDX 2.0 final will provide a way to find a SharpDX API from a DirectX name and vice-versa.
Is SharpDX ready to be used for developing a game? In short, Yes.
First of all, I have been hired by a Japanese company to participate to the development of a new 3D engine in C#, and we are using SharpDX for the rendering backend on Windows.
Secondly, I have received lots of private mails from developers from companies that are using SharpDX to develop multimedia application (ranging from games, level editor, online photo publishing...etc.). Some of these customers are quite big (Unfortunately, I can't cite them).
Lastly, some public open source projects are using (or going to use) SharpDX for their main backend rendering. For example, Delta Engine is already using SharpDX for its Direct3D11 rendering (that will be available also for Win8). Upcomming ANX project (an open-source XNA successor) is also using SharpDX for the rendering, gamepads and audio management.
But SharpDX is just a step on the road to build a game engine, and then a game. Because the API is low-level, you can't expect to have the same kind of high-level features you were used to with a framework like XNA. But with a minimal framework, you could do lots of things.
Also, you could consider to use a well established product like Unity to develop portable games in C#.