As for "bringing in some experts", the difficult part of multithreading is not that you need to know how multithreading works, but that you need to know how the entire architecture of what you're attempting to design works, and how multithreading works, and how you can mesh the two together. It's either Toady adding it, or Toady spending 2 years teaching some coder every in-and-out of his code to then have that coder spend another 3 redesigning everything to make it work, with effectively no progress on the game itself in that time.
As I said at the bottom of the last page, "I also suspect that the basic loop of the game is a horrible spaghetti-code mess that he doesn't want to try to pick apart to make things parallel." My own experience with parallel processing is entirely offloading large, equivalent operations onto the GPU, which requires significantly more thought than just "make a function call". Okay, so it ultimately devolves into "make a function call", but there is significant data handling first and you need to make sure that all parallel options have accessed the data before you alter it, otherwise you end up with a random result. And that is for numerically identical things like blurring a photo. Dwarves aren't doing identical things on every tick, so you need more of a CPU model than a GPU model (i.e. you need to execute arbitrary code in parallel, rather than executing almost identical code with a couple branches)