I only use copy and paste if there are no other ways to do what I want and such circumstances are pretty rare. Copy destroys any data that a user has copied to the clipboard previously and discovering that a paste from the clipboard no longer pastes the data they copied confuses and irritates them.
How are your relationships setup?
This could be set up like this:
so that List acts as a join table linking a record in Youth to a specified Event record.
Take a look at this demo file that matches contacts (think youth) to events: http://www.4shared.com/file/dZ0bjclw/ManyToManywDemoWExtras.html
This demo file uses set field to update portal records on some layouts where this was necessary to make that specific layout work. Other layouts in this demo do not need this feature as you can also use drop down lists of Events instead of a second portal.
The check boxes layout should be pretty close to what you have and uses set field to do what's needed here.
The most likely explanation why your script doesn't work is that you have two portals on your layout and your script interacts directly with the portal. Script steps like Go To Portal Row do not have a parameter for specifying the intended portal. Thus, if you have more than one on your layout, it will interact with whatever portal currently has the "focus". To specify the correct portal, you give each portal an object name and then use Go to Object to select the correct portal before manipulating the records and data displayed in the portal. In my demo file, the scripts avoid this issue by changing layouts and creating the new record on a layout that is directly based on the portal's table then switches back.