I converted my script last night to the second method and it did actually complain about not knowing about the member functions (you'll have to excuse me if I'm mutilating the way you refer to each of these things), which prompted the question.
After your comments I retried using the method I used in my second snippit as you suggested converted the entire program again and this time it worked. I'm not sure what I did wrong the first time, but it seems happy now and now I can initiate and manipulate multiple instances of everything. =)
Regards Paul.