Pointers to archived discussion - or, better, some kind of rationale in the SA documentation - would be fine. I haven't been able to follow the developers list closely for quite some time.
What I'm curious about is why the BAYES_* rules are fed through the scoring algorithm along with everything else. (I understand about why the scores end up being what they are after the algorithm finishes.) Feeding the Bayes rules through the scoring algorithm seems to imply a lack of trust in the accuracy of the classifier. Perhaps this is a side-effect of having very few negative-scoring rules that can lower the score by looking for ham (lack of which, I comprehend, is to prevent deliberate spoofing), but it would have made sense to me to e.g. fix the score for BAYES_99 at 4.95, BAYES_95 at 4.75, BAYES_90 at 4.50, etc., and then let the scoring algorithm fit the rest of the rules around that. Perhaps not so linear a mapping, but you get the idea. So, why not?