Simon, good post.
I think most people oversimplify the shunning issue. While it is true that the organization does sanction such behavior, it is only successful at doing so because the behavior itself is actually a natural response to someone experiencing cognitive dissonance, in this context.
No one chooses to shun someone simply because that other person chooses to think differently about a matter. For the most part, people are comfortable enough with what they "know", (even if it is incorrect), that they can handle disagreement, without it threatening their belief system.
A person choosing to shun, in contrast, is actually a very insecure person. Deep down they are not comfortable or confident in their belief system, hence do not allow it to be challenged. They will not debate, because they cannot, and they know it. The natural response someone in such a mental state will have is a shutdown response, that will not allow open discussion. This is where shunning begins.
In fact, even the presence of such a person presents the unpleasant effects of cognitive dissonance. This is because tacit information is communicated indirectly, such as that former believer being a "good" person, that is not becoming the monster that the believer was warned about just because that person changed their belief system. That is actually very powerful subconscious information that demonstrates the teachings of the belief system are likely wrong, even in this seemingly small way, and ultimately why shunning is applied even when discussion concerning one's belief system is not taking place.
The organization simply chooses to take that one step further and institutionalize the behavior. Unfortunately the behavior itself will likely not change for anyone committed that seriously to the belief system.
d4g