Back when I posted those earlier replies, I think I had only been using 1 or 2 of those external rules with the Straight VB Code option, as externally referenced resources, and they did not have a lot in them yet, and I still wasn't really using them that often yet. I was likely most often using the 'send & receive' technique to turn other regular external rules into similarly used Subs or Functions with 'input parameters' and 'return values' at that time, which was working OK for me at the time. Now I have a whole list more of those externally referenced rules with that option turned on. Some containing one or more custom Classes, while others contain custom Modules, some with 'extensions', others for utilities and helper methods and such, with lots of contents in them. Some that started out as custom Classes I later turned into Modules, to avoid the instantiation and disposal steps, where appropriate.
And yes, as far as I know, we still can not reference other external iLogic rules using the 'AddVBFile' line from within the header of another external rule that is marked for 'Straight VB Code', so we still can not 'daisy-chain' them together as the original poster was suggesting. But I have never needed to do so either. The 'regular' rule that is referencing the special external rule(s) can also include multiple AddVBFile lines in its header for referencing multiple of those special external rules with the Straight VB Code option on, and I doubt there is a limit to how many one rule can be referencing, as long as there are no conflicts between them. I do not know if our inability to daisy chain them together is a 'bug' though. In fact, it actually makes some sense, because I believe the 'AddVbFile' line is unique to iLogic, therefore is not necessarily recognized as 'straight VB code', plus, it has not been put together as a true DLL, so... It may just be a simple limitation, maybe of the VB.NET Framework system which is used in iLogic rules, but I do not know for sure either way.
There was another discussion on this forum about our ability to use the 'AddReference' lines in the header of those special external rules with the Straight VB Code option turned on. The 'Imports' lines always worked just fine, but not the 'AddReference' lines. I got past the required 'order' of those types of lines in the header relatively early, but kept getting errors because of them, when that rule would get referenced from another 'regular' rule that was trying to use it. So, I started including the 'AddReference' line into the Header of the regular rule that was referencing the special external rule, and that seemed to work just fine...but was obviously not ideal. It seems like some others were able to use those lines OK from within those types of rules, but were maybe using it in a different way where they included lots of other stuff in that line of code besides just the quoted file name of the external DLL file. My guess is that the rule, or at least that line of code in the header of the rule, was created/generated through the use of Visual Studio or something like that, which added all that extra stuff into it automatically.
For example, the following is shown in the online help page for adding a reference to the 'Global Assembly Cache' using a 'qualified name'.
AddReference "VsWebSite.Interop, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
I am simply not familiar enough with that specific detail yet, to know where to pull all that odd looking information from, so that I could type or copy/paste it into the header of an iLogic rule. Sure, I sometimes see stuff like that within error messages, and I have seen lists of references being used by some of my more complex rules that are being included automatically (in the background), where we could potentially copy it from, but knowing exactly what all of that means, and if it is 100% correct for my situation is another thing altogether. This is yet another 'grey' area that they simply do not offer enough official documentation about yet.
Wesley Crihfield

(Not an Autodesk Employee)