I'm creating python effector in full control mode and I've just noticed in this case it doesn't not applies during the rendering.
But works fine after mo-caching.
Sample file is in the attachment. Tested with the R20/R21.
this is a know bug and will be fixed as soon as possible.
The only workaround as you discovered is to cache the mograph affect by your effector.