Backward compatibility is taken by CRM team very seriously. Another good example of this, sometimes insane, compatibility is how CRM treats URLs. The ability to open any form or view in CRM 4.0, and also dialogs, reports and dashboards in CRM Online and CRM 201x is an awesome way to create mashups, and for an external application or a website (think SharePoint, for example) to access CRM records without spending a fortune on creating custom UI.
To create new account in CRM 4.0, all you had to do is to link to the following URL: https://foobar.crm.dynamics.com/SFA/accts/edit.aspx. In CRM Online and CRM 201x, however, URLs have changed and now you need to send unsuspecting user to https://foobar.crm.dynamics.com/main.aspx?etn=account&pagetype=entityrecord. But guess what happens if your legacy integration code uses former URL but new CRM organization? That’s right, user will get redirected to the latter URL and will be able to create a new account record just as before.
When you deal with Dynamics CRM using documented SDK methods and techniques, your code can live forever.