Olly,
As far as I'm aware, there is no way to copy components within an assembly through code. To get something to fire when the model is opened, you would need to access the events within the code.
Option Explicit
Private WithEvents eFA As ApplicationEvents
Private Sub Class_Initialize()
Set eFA = ThisApplication.ApplicationEvents
End Sub
This code will give you access to the OnOpenDocument event.
In here you could create something that would instruct the user to do something..e.g
sub eFA_OnOpenDocument(ByVal DocumentObject As Document, ByVal FullDocumentName As String, ByVal BeforeOrAfter As EventTimingEnum, ByVal Context As NameValueMap, HandlingCode As HandlingCodeEnum)
MsgBox "Copy Component"
End Sub
This would need to be copied into each file that you wanted it to fire on, and would fire every time it was opened. If you're working on a lot of files, you would be best to create an Addin using VB.Net or the like, which is loaded with Inventor, and is not file specific.
Or you could get it to insert a new instance of the assembly on open, ready to work on - this is something which is fairly straight forward, and I could help you with if you need it.
To get more help with this, I would recommend re-posting in the Inventor Customisation forum, where you will get help from people who do this kind of thing every day.
Jon