I've been having the same problem, and did a little investigating.
In my headers, the BAYES_99 rule is showing up a lot, yet the spam scores are still very low (in the 2's)
[NOTE: the following all implies that you have spamassassin 3 installed]
Looking at the spamassassin defaults, BAYES_99 is set to "0 0 4.070 1.886" which means:
local = 0
net = 0
with bayes = 4.070
with bayes+net = 1.886
Now take an example email I just got:
X-Spam-Status: No, score=2.7 required=4.1 tests=BAYES_99,HTML_80_90,
HTML_IMAGE_ONLY_20,HTML_IMAGE_RATIO_06,HTML_MESSAGE,
HTML_TEXT_AFTER_BODY,HTML_TEXT_AFTER_HTML,TO_ADDRESS_EQ_REAL
BAYES_99: 0 0 4.070 1.886
HTML_80_90: 0.027 0 0.036 0.146
HTML_IMAGE_ONLY_20: 1.567 0.843 1.023 0.446
HTML_IMAGE_RATIO_06: 0.072 0 0.342 0.131
HTML_MESSAGE: 0.001
HTML_TEXT_AFTER_BODY: 0.263 0.151 0.752 0.061
HTML_TEXT_AFTER_HTML: 0.312 0.205 0.032 0.031
TO_ADDRESS_EQ_REAL: 0 0.470 0.131 0.026
If you add them up, the "local" scores = 2.7
Based on this, it is clear that Bayes is turned off (at least for me) and I am going to re-enable it by adding "use_bayes 1" to my config file.
I'll report back on how it goes....