if you are some one that is sitting between CRM 4 sdk, and 2011 SDK. you'll end up and should upgrade using the 2011 one.
Because 2011 support lot's of fix, improvement, easy to use API than 4th version.
since CRM 2011 use WCF there has to be lot's of improvement, also from the size compression being transported.
CRM 2011 SDK support backward compability,as when it deals with CRM 4. it point to the old asmx services , 2007/xxx.asmx
use organizationservice.LoadProperty to load your Lazy load relation property, for example invoices_products
CRM 2011 support Federation Authenticaiton/Claim based authentication.
You only need to use the crmHelperClass and provide username and password with out domain.
Solution is major improvement in 2011. a lot of thing are being simplefied because of this.
on 4th version you've got that metadata thing. but Solution means you can package you custom entity, Plugin and import it again to another CRM instance
Plugin also being enhanced. Now after you install the Developer Tools. which comes with the SDK
You'll get Solution template, Plus CRM Explorer. Plus when developing Plugin/Workflow you get what they called CRM Package, right click and Deploy :)
You'll get Default class called Plugin which provide you with localContext, you can access the servicecontext,organizationcontext,entity here.
It's a very good one, because now you can implement Base plugin for multiple entities, before you need to create class and another class
It's also recommend to deploy it to your Solution. that way when you moved from staging, to prod server. you only import the solution
the CRM 2011 service is also supporting for you to upload your CRM through SDK
most easy to use is Early bound, generate it using CRMSVCutil which will generate strong type for you.
to make sure things is there or not. think of solution.
CRM 2011 use WIF
LINQ to FetchXMl service request is deprecated