Smart Components - various frustrations

I am trying to build smart components and have run into thefollowing frustrating limitations.

1. External references are not allowed, or are automaticallybroken.
E.g., Say I make a defining assembly with "SmartPart" and "PartA",PartA being the part into which I want to insert smart features,say an extruded cut. I want the sketch for the cut to referencevarious faces, edges, etc of PartA which I would re-choose when Iinsert SmartPart in a real assembly (this being how libraryfeatures work). But when I insert SmartPart it doesn't offer toselect the edges and simply ignores those relations. Sometimes inthe process of creating the smart component it gives me an errorthat external references are not allowed and will be broken.

2. I wanted some of the smart features inserted in assemblycomponents to be extruded parts which were not merged, but itdoesn't let you use multibody parts in the defining assembly.
The truth is that there is a workaround - you can create amultibody part as you need in the defining assembly and then mergeit into a single-body-part by doing a final extrude with "merge"selected to connect all the other bodies, then just not select thatlast extrude feature as one of the smart features.
I use the same workaround when I make library features, wheremultibody parts are also "not allowed" but this trick works.
But isn't that kind of dumb? Why can't you just have multibodyfeatures??

3. I wanted my smart component to be one component within asubassembly and for the subassy to be within a main assembly, andcomponents from the main assembly would receive smart features. Butthere is no option to activate smart features from the mainassembly!

I am using SW2008 SP4.0 by the way.
Any tips?
SolidworksAssemblies