When linking prims together, the link-numbers assigned to them are done so in order of first selected, ranked last. This if you select a box, a cylinder then a sphere, your linked set will look like:
1 - Sphere
2 - Cylinder
3 - Box
However, if you were to select a linked-set to include, then the behaviour is uncertain. For example, if instead of a sphere there was the following set:
1 - - - Torus
2 - - - Cone
3 - - - Pyramid
Now we want to select first the box, then the cylinder, then lastly our new linked-set. The results we get will (usually) look like:
1 - - - Torus
2 - Cylinder
3 - Box
4 - - - Cone
5 - - - Pyramid
This behaviour seems incorrect, as the linked set was selected first, the primitives comprising this linked set would be expected to have numbers assigned first, to look like:
1 - - - Torus
2 - - - Cone
3 - - - Pyramid
4 - Cylinder
5 - Box
In this way, any linked-sets which are joined into larger linked-sets will retain the ordering of its linked numbers (though sets which get placed later will have these numbers increased), e.g the following example if the select went; linked-set, box, cylinder:
1 - Cylinder
2 - Box
3 - - - Torus
4 - - - Cone
5 - - - Pyramid
This makes scripting things like llSetLinkAlpha and the newer llSetLinkPrimitiveParams a LOT easier as by simply linking the original object LAST when adding new primitives, it can be done without breaking a script which knows the link-numbers to affect.
This behaviour will also be more beneficial should a hierarchical linking system ever be introduced
https://jira.secondlife.com/browse/SVC-259
llCreateLinksFromList
https://jira.secondlife.com/browse/MISC-255
Second Life 2.0