Because threading is INSANELY difficult to do, even when you plan for it from the get go.
I agree that threading in general is hard, but there are some special cases where it's rather easy, for instance loops where each iteration is independent. In such cases, one can even let the compiler generate the actual threading code by using OpenMP...
As I (of course) have no idea of the dwarf fortress source, I cannot tell where such loops exist in the game, and if they have any noticeable impact on performance. Some things where I could imagine that OpenMP might help would be wear checks for clothing, crop growth, and depending on how they are implemented maybe also path finding, liquid flow, and temperature calculations.
That being said, OpenMP is not some magical does-it-all-for-you, but it greatly simplifies the task. One still needs to manually find and mark the code parts that one expects to parallelize well, and then one still has to test the effects. It can very well happen that the added overhead from OpenMP has a worse performance impact than just running a certain loop non-parallelized.
But back on topic:
The graphics glitches are strange. I'd say something is wrong with your GPU driver (or the GPU itself, but let's hope that's not the case)... If you are already running the latest GPU driver version, you can still try to change
PRINT_MODE. The default setting of 2D should work rather fine on most systems and likely gives the best performance, but maybe in your case STANDARD might work better. If that also doesn't, you can try to go to a 3D graphics mode - VBO or SHADER (which seems to be now supported by the official dwarf fortress releases) come to mind...