The code would simply NOT detect extra races beyond the defaults UNLESS all your extra versions share the common #12id, as stated above.
Carielf graciously gave us a run-down over this issue stating that the natural limit of active races anytime during a game is something like 32 (IIRC);
BUT, this value has a hard-coded heap origin.
-- Player (can BE a custom or not) + Nine opponents maximum (out of the 11 default Majors pool) + 8 or less Minors at random + reserved Dread-Lords + variable amount of Mega-Events driven races (Jagged Knife, Pirates!) popping when called for.
-- The str_xml files strictly comply to this structure and limit, AFAIK.
Mix-matching extra stuff would need extensive testing and may even crash the game itself, but it certainly could be worth exploring.
Simply download
X-Worlds to witness and/or figure out how i somehow managed to
handle the customs natural gameplay limit. It may not be conventional or a
true total-conversion, but it works flawlessly while keeping every GC races active.