I think I finally figured out how to avoid the crash, which is less than ideal. I'll put it here for others to see just in case someone else has similar problems and finds this thread.
I had two megabeasts with a smattering of incapacitating interactions. The game crashed consistently during worldgen when either of these two megabeasts were present. Deleting the creature file fixed the problem. If I deleted one, sometimes it would make it a long way through worldgen, but it always crashed within 150 or so years. Having both present made it usually crash before year 20.
I couldn't find anything remotely wrong with their raws, so I tried removing the interactions, and lo and behold it works now. I tried again with a varying number of these interactions, and it appears that the more you have, the more likely DF is to crash early in worldgen.
I'm guessing that there is a bug during history generation that causes the game to barf if a creature uses these interactions in worldgen combat. Possibly only if someone is killed by such an attack. My guess is that the game is generating a handful of these megabeasts during worldgen, and the more of them there are and the more of these interactions each has, the more likely the bug is to come up.
So I just removed the interactions during worldgen and put them back in afterward. It's a big pain, but it works at least.
Maybe it's somehow related to the interactions themselves and maybe I have a bug in them, but since they work perfectly fine in the arena I'm skeptical that this is the problem.