Microsoft has finally allowed multiple relationships from one entity to another entity. In MSCRM v3.0 you could only have 1 lookup on a form to any given entity. And if your hands were completely tied when you wanted to create your own relationship between 2 system entities.
This has all changed in MSCRM v4.0. You can create relationships between system entities, custom entities and between system and custom entities. And the greatest part is you can do it as many times as you want. This means you can have as many lookup links to Contact from the Account as you want, or even to Users.
This will create a link for you between the two entities and the best part is that it will reuse the same database. I know that I have helped a number of people copy the user or contact databases with a custom entity in MSCRM v3.0 in order to get around this issue. The solution worked but there were places where things could break and then the two databases could potentially be out of sync. With this new method that Microsoft has provided with out of the box functionality it makes a solution easy and clean.
Now, I have mentioned that you can link multiple User records to the same entity/form. While this is cool please be aware that security is still only run off of the Owner field. Meaning that just because your username is in the "Account Manager" field (a lookup that links to the User entity) that doesn't mean you get to see it. All it is, is a link, that's it. Nothing more.
Having the field on the form is much better than what users of previous versions have had so this is still a very cool improvement in my opinion. Plus with views, Advanced Find, and search capabilities you should be able to get around most of the visiability issues you run into. One other option that you have to help would be to use the new workflow to run some business logic whenever you change a lookup field. Or you could right a plug-in to automatically share the record with the secondary user field(s) so that you can work your way around security. Philip Richardson shows a great use of workflow on a lookup field through his screencast at: http://www.philiprichardson.org/screencasts/titan/BasicWorkflowCTP3/BasicWorkflowCTP3.html. Check it out for some more info on MSCRM v4.0.
I'm so excited for v4.0!
Dynamic Methods Inc.