Serious answer: I think it has to do with the fact that the smiley code for the thumbs down smiley ^_ contains the smiley code for thumbs up ^ in its entirety and vBulletin is interpreting the first ^ as thumbs up, rather than reading the entire ^_ code. This could be solved if they changed the codes to something non-ambiguous, such as :yay: for thumbs up and :nay: for thumbs down.
FewMiles..