I have encountered a bug in DirectShow .NET where I create a secondary buffer with a sample rate of 8khz, and upon playback, the sound plays back at approx. 8.1khz instead.
You could always port Secret Rabbit Code to C#?
Or how about using the Audio Compression Manager directly via platform invoke?