I have used c# and I like it. The only problem I have with it is the lack of a solid support on Linux - but, I think mono has improved alot since last I looked. And, since MDX is only for Windows, there is probably no easy way to support joysticks with c# on Linux..
So, I like your idea of a wrapper. I have contempplated creating wrappers for .Net and Java bindings, but have not the time. There are Python bindings in oisaddons/python module of cvs (which I have tried and work nicely). Those are generated with Swig, though, I am a Swig noobie, and don't know what changes need to be made for those to work with building a DotNet wrapper. But, if you want to try, I think that would be the place to start - though, those bindings IIRC are LGPL, which if you want the most leaniant type of license (like zlib), you could just create the Swig file yourself - as, OIS is not that big anyway. If you make any progress, or have any questions, please feel free to continue posting in this thread. I would gladly give you an oisaddons module (ie oisaddons/DotNet) if you decide to make these bindings

As I said, I have limited time to dedicate to .Net ATM.