Node manipulation might be fine, I haven't checked it in full. However my impression was that we don't really need it right now? I believe I saw some examples where ID2D1DrawTransform is implemented for *Impl object directly, for which runtime presumably calls SetDrawInfo, letting effect set back shaders and resources.
Regarding prototyped drawing, creating render target on every draw seems wrong. It's possible you'll have to recreate something, but only when when parameters or inputs have changed. I certainly don't have a full picture of how this works, but shouldn't we be using MapOutputRectToInputRects() at some point?