I've duplicated this bug. Something must have changed in the 12-12 BetterAI build, and here's my reasoning.
I have a cobbled-together modpack (call it BJw) of my own creation. It worked fine with BetterAI 12-09 build.
Using BJw with no (special) CVGameCore.dll works perfectly on generating new map and on a BJw savegame.
Using BJw with the 12-12 build in the mod folder - CTD on new game, CTD as soon as I end turn on old save.
Using BJw with the 12-12 build in customassets folder - CTD on new game, CTD as soon as I end turn on old save.
"Empty" BJw (literally all contents of mod folder deleted), no use of BetterAI dll - works on new game, works on old save - so it's not a problem with the interaction of the mod and the save itself
"Empty" BJw, 12-12 build in mod folder - CTD old save, but works for new game
"Empty" BJw, 12-12 build in customassets - CTD old save
No mods at all, 12-12 build in customassets - Works, both cases
Using BJw with a different modified CVGameCore.dll in mod folder - works, both cases
Using BJw with 12-9 build in mod folder - works, both cases.
This was pretty exhaustive and took about an hour to run through. The only cases that fail were the 12-12 build of BetterAI, used in conjunction with some other mod (in my case BJw, in UncleJoe's EDU).
The fact that I can grab a modified CVGameCore dll out of another random mod, like Customizeable Domestic Advisor, put it in my mod (with no components of CDA in use at all), and have it work, OR I can use the 12-9 build with my mod and have that work too - really seems to suggest something changed in the 12-12 build.
Apparently, it'd have to be a change like.. altering a function that doesn't actually get used by "vanilla warlords" but that a mod is calling. Even that is very strange, though - Ethically Diverse Units only modifies a single python file (screens\CvDawnOfMan.py), so I don't know what could have changed to make that fail. I'm going to make a mod that only changes XML and see if I can continue to reproduce this behavior, then I'll update this post.
*update after another 45 minutes of testing*
Running just pieces that modified XML from my BJw mod - worked with 12-12 build.
Running almost all components of my BJw but not the greatperson mod - worked with 12-12 build.
Running just
GreatPersonMod, alone - CTD on ending turn, CTD on new game with 12-12 build. Works all cases 12-9 build.
Running
Ethically Diverse Units alone - CTD on loading savegame (doesn't even get to turn) and CTD on new game with 12-12 build, but works all cases 12-9 build.
There's only a single file in common between these two mods - Assets\XML\Units\Unitinfos.xml. However, in my first test of just the xml files, I used my own modified copy of that file which contains all the changes (additional GP names) from the greatpersonmod as well as a few of my own changes to boot. There were no conflicts using it with the 12-12 betterai build.
I literally tried 14+ different mods singularly and in conjunction with one another (the "almost all components" bit above) and even all at once they ran fine with the 12-12 build. The only real common thread that the GP mod and the EDU mod have is that they both add a significant amount of custom artwork. However, plotlistenhancements and the modified sevopedia both add at least a few art files and I had no problem using those with 12-12 build.
The kicker, though, remains that any and all of these mods work fine with the 12-9 build.
I would use the python debugger to give better information but I can't get it to work in warlords (I've used it successfully for troubleshooting this type of thing in vanilla). I enable it in the warlords ini file, and the loader hangs on "init python" even when I'm only loading "vanilla warlords" and not autoloading a mod.