THIS POST IS LOADED WITH SPOILERS
This fort was started specifically with the purpose of conquering the underworld and, if that fails, to develop better techniques for doing so and trying again later.
The fort was started in a nice, neutral biome with flux stone and, as it happened, lots and lots of limonite. It was also in the heart of goblin territory, because I often find that to be the most reliable source of iron in the game. I build a massive corridor of doom that was all cage traps which could trap an army 200 strong if they all came in in single file. It had a drawbridge system that could be set to easily allow traders in and make the invaders take the long route. I set out to get 12 squads of 10 military dwarves, 20 for each weapon. They were all equipped in full steel gear of exceptional or higher quality. Eventually, I added the 13th squad, which was all adamantine gear using shortswords.
There are a couple of points of interest with goblin sieges. First, sieges start to get cold feet and flee when enough of their troops are killed or captured. Make sure to leave a path at least 80 long between your drawbridge to trap them in the corridor of doom and the first trap. Second, goblin sieges got a lot bigger when I didn't kill off my prisoners. Whenever I killed off the prisoners, siege numbers dropped to about 12. After capturing two sieges of 12, it very quickly got to 80 per siege. Goblins and trolls were fantastic training for the military.
A fun optimization trick: Dwarves are easily horrified by things. When they are horrified, they train Discipline, which helps them resist horrifying things. I recommend keeping a corpse stockpile between your foodstores and your housing that the dwarves pass by every time they eat, drink, or sleep. I did this and most of my dwarves were experts in discipline, which helped a lot in the trying times that followed.
Once all 13 squads were trained up, I broke into the underworld and set my military of 130 against the demons. Mind you, my military was legendary in every single combat skill. I lost 70 in the battle, and the tantrum spiral that followed marked the end of my fort. So, I cheated and ended the process to try again, this time going about it more intelligently.
It's known that demons do not trigger traps, but that does not mean that traps don't affect them. Upward spike traps can be triggered by a switch, which I did in a previous fort to infect the water supply with vampire blood to turn the whole fort into vampires. So, I made a corridor of doom (my solution to everything, right?) 75 squares long, each one an upward spike trap holding 10 menacing iron spikes. Yes, that's 750 iron bars. It was worth it. I put a break in the middle and hooked each set of spike traps up to different levers, so I could let the miner who broke the seal escape. I then used burrows to assign 6 peasants to lever duty and not allow them to leave (they had food, drink, and beds) and also set up the burrows so that no other dwarves could use the levers. They were pulling the levers on repeat. If you are wondering just how tough the demons can be, THIS DID NOT STOP ALL THE DEMONS. However, the ones that did make it through were in rough shape, usually with every body part broken. The dwarves promptly put these demons out of their misery and the fort took no injuries. Sweet!
Then I set about producing a large number of rock blocks, building a staircase into the underworld, and then setting up a stockpile for blocks. There are a couple of mistakes here. The plan was to pave over the eerie glowing pits. However, while I didn't finish paving, demons will break through any construction not made of adamantine, so that would not have worked. I should have been doing extensive mining operations to get every last bit of adamantine on the map, then make blocks out of it. I was impatient, because strand extraction takes forever. I had 12 dwarves doing full-time strand extraction, and it took over a year to get the adamantine to fully equip a squad of 10. The other mistake is using a stockpile. Loading up a stockpile will slow down your dwarves, mostly interrupting important jobs, like paving over a hellmouth. The correct choice is to set up a dump zone and dump all the adamantine blocks into hell, unforbid them, bring the military down, and start construction.
Then, I sent my entire military down to hell. I spread them out a bit so as to make sure that my masons could pave multiple hellmouths at once. This was also a mistake. The military should be in an area where everyone helps everyone. Demons come in a tremendous variety of shapes, sizes, and materials. The hammerdwarves made short work of the behemoths made of salt. The speardwarves made short work of the raven brutes. But the reverse did not go so well. To a surprising extent, the marksdwarves, armed with steel bolts, made a huge difference. Things really started to fall apart once they ran out of ammunition. They never killed anything, but under their watch, nothing got to the military in peak condition.
Construction: Stick to one hellmouth at a time. Once you pave a hellmouth, retreat. The demons of the underworld are infinite and your dwarves' reserves are not. They need a break. While there are an infinite number of demons, they don't attack if you have no presence in the underworld.
As I said, things went bad when the marksdwarves ran out of ammunition. It was only a dwarf here and there, but the demons are infinite. There are over 500 slain demons in the deceased log, but after enough dwarves died, moral broke and some fist fights started. When a peasant picks a right with a dwarf in full steel gear that has spent the last decade training for war, it's not pretty. Repeatedly, I saw military respond to a peasant punching them by punching right back. Only, because of their unbelievable strength and skill, I saw little 2's fly everywhere. I looked at this and the 2's were teeth. I looked at the combat log and the peasant's head exploded from one punch. Eventually, the military started to go berserk. And tantrum spirals happen.
I'll try again later and report my results.