1. It's horribly implemented. You can't use the debug runtimes with it (The debug device doesn't expose the IDirect3DVideoDevice9 interface which VMR-9 needs for rendering). I've also read all sorts of horror stories on the Internet about it leaving resources and being difficult to reset the device.
2. It requires a D3D device to use and requires the device to be multithreaded. I really don't like the idea of that, multithreaded devices in D3D9 are A Bad Thing, and multiple devices is a very bad idea. There's no way (that I can see) to tell VMR-9 to not use a D3D device and to render into a memory buffer like plain DirectShow.
3. It's taken me 3 days to get something nearly working.
4. I don't see what benefits it gives me.
#2 is my main reason for ditching it, with #1 a very strong second. I really don't like being forced to use a multithreaded device so that VMR9 can dick around with a surface that the main thread isn't going to use.
So I'll be going back to plain old DirectShow now then.
And what about the bugs you mentioned in an earlier post,did you find any solutions to them.