I remember the post you're talking about, but have no idea where it wound up. I thought I replied to it, but I wasn't able to find one.
What I do remember is that, when the spells are loaded into shared memory (see
EMuShareMem/Spells.cpp), it creates a dynamically sized array (max spell ID + 1 according to
the source), so it shouldn't matter how many spells you have. The exception to this was an old way of loading the information, in which it was defined as exactly 3602 spell records (see
zone/spdat.h).