I've finally gotten to this project.
Reading through your code, I see that showPrivate is unnecessary. The user can put any get_post() parameter they want in the shortcode and you pass them through:
I'm not sure if you intended that, but it is very useful and may be worth documenting.
I'm just starting this. I hear what you are saying about performance, but that's why I designed it to be at submit or update. I really need it for our application. So, I'm going to code it up. I may be able to achieve it with just hooks. If so, it certainly could be a separate plug-in. In any case, I'll send you what I come up with.