Hi Rob,
No problem at all, I'm glad I could help out. Regarding the IDs, if each size is taking different textures then you may indeed need a few more. According to my calculations you'd need 7, this is based on the maximum number of the same type of section that you might get in a single group, as follows:
4 x sections, only one per group with 46 textures = Randomise ID 1 between 1 and 46
2 x sections, maximum 2 per group with 20 textures = Randomise IDs 2 & 3 between 47 and 67
1 x sections, maximum 4 per group with 20 textures = Randomise IDs 4,5,6 & 7 between 68 and 88
In my example to get this to work you'd just need to adjust and add a few more material operators, and change the Material ID assignments to match on the source geometry.
I hope that helps, I look forward to seeing what you come up with. I think it could make a very interesting tutorial.
Many thanks,
Paul