I'll try and explain what I understand to be going on here.
A quad is made of two triangles. UV's should be mapped to a quad (not a triangle).
You need to find the corner verts of the quad and address the UV coordinates to them in the correct order.
The only way I found to do this was in version 1.2.x using the Parabox nodes. If you tear apart this comp you will see what was required: https://vuo.org/node/2416
Wow, that is a waste of resources. It seems illogical that it would do things at twice the size requested.
I think a better fix would be if it just recorded and displayed at the resolution that we are sending to the window.
Just tested with your new version. Works a little bit smoother.
I think I introduced the flicker to yours by adding a connection from Fire on Display Refresh into the Fog patch so that I could see the changes I was making without having to fire the node manually, it's the same with my version too.