There should be an option when duplicating an entire record to also duplicate what is attached to it and auto-assign it.
Ex. if I have a project template with tasks associated with it that I have created and they will all be repeated, I should be able to duplicate the project and optionally duplicate the tasks and milestones and they be attributed to the new project.
However, there are times when I might duplicate a contract record and want to keep it associated with the same company for example. In this case I would leave the relationship alone so it would stay with the company.
This would be a huge time saver.