Not necessarily. The correct framebuffer needs to be bound for subsequent draws, but that may very well be a different framebuffer than the one currently bound. Invalidating STATE_FRAMEBUFFER ensures that context_apply_draw_state() will bind the correct framebuffer even if the bound render targets didn't change since the previous draw.
No, the invalidated state is going to be applied again by wined3d "state manager", if needed.
Thanks for explaining, that's a clever setup. I'll send an updated patch.
Regards, Fabian Maurer