This is a good thing to do since you can use the relations dialog to pass parameters forward.
In the example you would pass data up, and back again: The holes in the plate can manage the assembly pattern and the cylinder's hole pattern. However, the hole pattern would have to be passed downwards again from the plate to the cylinder via the assembly. It all does get rather messy in the end.
Somehow I expected the interface to be a little smarter about creating the parameter where it would have automatically added the session ID to the relation when replacing the value with an existing parameter. Rather, you simply get a quiet little message at the bottom of the screen about the symbol not being found, yet it takes on the value for the one it -did- find. This could easily be improved in code!