An important distinction: Sun didn't buy MySQL project, they bought MySQL AB, a Swedish company that did majority of MySQL development.
Why did they do it? We can only speculate, and here's my speculation. Sun is (well, was) mostly a hardware company that pursued a strategy of complements i.e. they didn't focus on making money from software. For them software is a complementary to their hardware. If desirable software runs better on Sun computers than on other hardware, Sun will sell more computers.
They bought MySQL for two main reasons:
- the team of programmers that can ensure MySQL runs best on Sun's hardware
- control over the project. While GPL allows anyone to fork the project, a de facto control of the project's future belongs to those who do the work i.e. MySQL programmers who are now Sun (well, Oracle) programmers..
Does the project maintain its free and GPL intentions after the sale?
You can't revoke GPL license. The code release under GPL stays GPL. However, if you own copyright to all of the code, you can change the license at any time. This new license, however, would only apply to new code written after the change. Furthermore, Sun didn't do it.
Who decides or votes whether the project gets sold or not?
Like I said, Sun didn't buy MySQL project. They bought MySQL AB, a company, so the sale was decided by owners of the company, following Swedish law in such cases.
Who gets this sale price or how is it used?
Again, since it was a sale of the company, the usual rules for selling a company under Swedish law apply. Presumably, the price was distributed among company's shareholders based on their ownership percentage.
Is it very unusual for open source projects to be sold?
Again, projects cannot be sold. It's either the code or the team. Cases like MySQL AB, where a company does one open source project, retains full copyright control of the code and then gets bought are very rare. What happens more often, but still rarely, is when people involved in a successful open-source project start a company doing consulting or selling services related to that project e.g. Couchio company was formed to offer services related to CouchDB. Another thing that can happen is that people involved in an open-source project get employed by a company that wants to support the project e.g. VMWare hired the developer of Redis, Sun once hired people involved in JRuby and JPython etc.