Adam
Please send me your file to review. If possible place notes or mark it up to show how you need to modify it.
concerning the elements used to create the complex inheriting the complex profile...
A user can create profiles on individual elements > when these are joined in a complex this profiles will appear in the complex profile> they can then be joined [complexes] together or used in part int the complex profile.
We cannot allow th individual elements to inherit the complex profile as this could cause a circular type dependency .