Issues with concurrency, people who use memory cheats, et al.
EG, what happens when the two simulated worlds stop agreeing on what the world's data is, because somebody used DFHack? Which game instance gets to claim to be right?
Hold that thought----
Now, what happens when the two simulated worlds stop agreeing-- because of a slightly different outcome from the randomizer, due to a processor bug, or other glitch?
Dealing with these kinds of problems, and doing it sensibly is one of the hurdles of a proper multiplayer mode. For a good example of why clients talking to each other is not a good approach, see the original diablo, and the item hacking tools for multiplayer games.
In addition to this obvious one, there is also simply the issue of how DF handles offloaded sites. Instead of being properly offloaded, sites that have players running around in them will be fully simulated. Look at the memory footprint of DF with just one active site being simulated for one user-- Compound that many times for as many users as are running around in that world. Now-- keep all the many gigabytes of data synchronized between all player's machines, while having all clients agree on the data.
Multiplayer is not a trivial thing to add to this game.