Derek,
>Can I actually have recursive objects or just function calls?
The recurrsion limit applies to the total nesting of function and method calls.
>What about when the composite part has its own subassembly? Take for instance a furniture company that makes kits for assembling an unfinished chair. That part # for the kit would be say kit123. Now lets assume that they also make a finished chair out of the kit. Part number chair456. If they brought up the bom for chair456, would the part# kit123 be a CompositePart? But when they bring up just the bom for kit123, is it now a SimplePart?
A CompositePart can be composed of both SimpleParts and CompositeParts. kit123 would always be a CompositePart in your example.