But you should understand that the way MP builds the graph is quite different from the way GraphStudio does. GraphStudio merely asks DShow to add whatever filters it deems necessary (based on merits) to build a complete graph. But MP first adds a number of filters, then asks DShow to do the connections and add whatever filters it needs to complete the graph. This now is just a guess, but I think FFDShow depends on certain steps that DShow takes to build the graph in order to inject itself in the graph. It is my guess that DShow does not follow these same steps when trying to complete and already populated graph and thus FFDShow does not get a chance to inject itself
For example GB-PVR doing it the same - add TS source filter, demultiplexer, Monogram AAC decoder and Audio/video renderer. And FFDshow adds itself as it should between Monogram and audio renderer. Graphs is created correctly - no need to modify anything.
The same for local media playback - GB-PVR add Audio/Video renderer, rest is created by DirectShow. No problem here.
Have you checked what happens with GraphEdit if you first load the same filters as MP is configured to add and then render the source filter's output pins?