All releases for a project always come under that specific project because projects typically represent teams. We don't disturb our teams, so that means our projects are almost always static in nature.
The iterations and releases are created under the project and as you know there is no direct relationship between iteration and release objects, but they are bridged by work items like stories, defects etc.
Depending on how the stories are delivered you want to ensure the releases and iterations ideally remain independent and non-overlapping. That means creating a new set of iterations corresponding to the timebox of the new release and letting the old set of iterations exist with the old release. Rally won't let you have iterations that have the exact same start and stop dates under a project but they can overlap. Releases, of course, can have the same start and end dates under a project.
In your situation, though, you want to have the same iteration at the overlapping period for both releases because they do match the start and end dates and then the iterations start "pulling away" towards the new release completely.
Essentially:
R1 I1
R1 I2
R1 I3
R1, R2, I4
R1, R2, I5
<release R1 ends>
R2, I6
R2, I7
where stories and defects etc. in iterations 4 and 5 have the same iteration value (i.e. they're in the same iteration) but with different release values.
Does that help?