Projects that are licensed under BSD can switch to a more restrictive license at any time. The code already released under BSD would remain under BSD, but any new development would be under the new license. The fact that the BSD license has been revised several times and has never added any commercial constraint, and that the BSD developers have never adopted a different license for the project seem to indicate that they are comfortable with the lack of restrictions on commercial exploitation of their code. They were certainly aware that the license allowed for it.
As hard as it seems for you to believe, some people are happy to release code into the world with the knowledge that someday, someone else may profit from it. In my work, I release code that is licensed under CC-BY. If a business takes my code and incorporates it into one of their products and sells it, as long as they credit me, I have no issue with that: those are the terms of the license I chose. I'd prefer that they contribute to the code under the existing license, but I don't find it necessary to require that.