Why do the message score and the number of stars show something different?
Upgrade to 3.0 and they shouldn't anymore. This was a common question and was filed as a [http://bugzilla.spamassassin.org/show_bug.cgi?id=2607 bug] and fixed.
If the score of a spam is 4.995, and required hits are 5.0, the message's headers should show:
X-Spam-Level: **** X-Spam-Status: No, hits=4.9 required=5.0
This rounding down of the spam hits (to the nearest 0.1) and of the stars (to the nearest integer) will hopefully be a more intuitive result.