Yes, I also ended up with such solution.. was just curious about the reason..I encountered similar problems when trying to extend the code inside pvr_injection(), so I decided to use a little bit different approach, ie: move the actual code to external functions completely.
It is interesting about the undocumented keys, I will try it. Anyway I hoped in some kind of flag in the info window etc. And after some research, it seems, the PreRecord/PostRecord functions do not have such possibility. I can call the function, probably with proper params, but with no visible effect. Maybe it was not implemented..