In our case, we have components that are associated with multiple server types, and artifact definitions that need to be deployed to specific server types within that. So for us, there is no way that you can infer this relationship. If pre-5.5 allowed this kind of inference, it would have been very limiting, so I suspect that if this was the case, the added flexibility offered by 5.5+ is why they cannot infer this now.
For example, we have a single component for all our .Net apps, but we have 5 different server types that .Net apps are deployed to based on artifact definition. If CA-RA were to infer the artifactDef-serverType relationship, we would not be able to do this.