Thanks for the links @DomAmato, I'll check out your branch of WMFVideoPlayer as the one I had tested didn't have an implementation of setSpeed.
The DSHapVideoPlayer also can't handle reverse playback but it looks like DirectShow doesn't support negative playback through it's standard filters ( https://msdn.microsoft.com/en-us/library/windows/desktop/dd377591 ). So that would seem to be where the issue is and the solution would seem to be in writing a custom filter.
Aside from the reverse playback the DSHapVideoPlayer is super fast.