Thank you both for your time and efforts.
The solution seems to be as I outlined it here. It works well and I am happy with it. So, as far as I'm concerned this question is closed unless someone else can come up with a better explanation or solution.