When you say ....
"Is this fair? I'm not sure. On one hand, Microsoft is a business, and they certainly have the right to do this. Just as we have the right to move to Oracle, DB2, or some other platform."
You cannot change your sql server engine as you swap, let's say, cars! You can go from Honda to Toyota, to Ford, to BMW, or whichever because the software in those devices is YOU.
In the world of software, SQL SERVER is irreplaceble. You can not switch to another sql server engine like you change pants.
Microsoft takes innapropiate advantage of its customer base, and is the reason behind their "success", when they obligate their customers to keep buying "NEW" versions.
I'm amazed that every time a security concern is patched by Microsoft, these patches applies to a range of products like Windows 2000 to Windows 7!!
It is the same code packed in a new box. They add a new stupid functionality and sell it like their a selling a new product!
SQL SERVER 2008 R2 is no more than that: it is SQL SERVER 2008 plus 3 new functionalites that are important to less than 1% of the customer base and you are locked behind those bars.
The last time I ever developed a SQL SERVER application was for 2005. I will keep them there. I won't upgrade to "newer" versions.
My new applications, all of them, are based on MYSQL. It has 1% of the functionality of MS SQL SERVER? YES. But it is more than what I need.
I won't be enchained by Microsoft again.
By the way, I alse quitted using .net, which is another dead end.