Yap, too bad MS discontinued MDX. I'm currently using SlimDX for our non-game development. It's not a drop-in replacement for MDX, but at least the API design is quite intuitive compare to MDX v1.1's API. I've used MDX v1.1 + .Net v1.1 for version 1 of our product. As for version 2, we're migrating over to .Net 2.0. MDX v1.1 doesn't works well with .Net 2.0, plus it has quite a bit of other inherent problem. Thus we had to scout for alternative.
Initially XNA was our best choice. Then, because it target gaming market and compatibility with xbox 360, we found that we need to write a lot of workaround/hacks to make it works for us. The worse is interoperability with DirectShow, which we use extensively in our product. MS created a huge gap in between existing and the new technology, where the latest replacement for MDX and DirectShow is not powerful enough to replace the old ones at the moment, and we can't afford wait for the next version.
I wouldn't say SlimDX is the best for non-gaming development. But for my case, it is. And since it's OpenSource, we can always make changes to places where we see fit. There exist quite a will glitches when we use SlimxDX + DirectShow.Net. These glitches doesn't exist when we're using MDX 1.1 + DirectShow.Net. My guess is, internally, MS put in quite a bit of hacks to make it work.
Anyway, if you're not using DirectShow at all, do consider Ogre3D/MOgre3D. MOgre3D is a manged wrapper for Ogre3D, a well built 3D engine. It was our first choice, but we can't use it because it doesn't support DirectShow well.