I've been trying to add multithreading to several of my projects in the past.
It takes a huge amount of performance testing to figure out what helps and what hurts.
The main issue for ZK (AFAICT) is how advanced the game simulation is.
ZK is basically doing what sandbox FPS games do for 10 objects, but have thousands of objects instead.
Thus, it's kinda hard to compare the performance to other RTS games, or even FPS games.
For LUA, if someone can point out where the bottleneck is (with profiling), then I'm sure it wouldn't be too hard to rewrite that part.
[Spoiler]I have some experience rewriting "scripts" in c/c++, but I'm very lazy.