George,
Good post!
I only use program() in two places. One) to dump the call stack in my errorhandler. Two) to tell if a program has been run by itself in which case it presents a UI or has been called from another program so the UI is not needed/wanted.
>Trey and Larry have already given you the answer. I, however, would strongly recommend against doing something like this. Basically, from what I understand, it'll break down functional cohesion. IOW, while the program may be doing two similar things, they won't be the same. This can cause you a great deal of problems later on.