My own personal guesses (and your guess is as good as mine):
1. Because when they first wrote the code, only single processors existed.
2. Because some parts of the code really only work with a single thread.
3. Because rewriting the code to use multiple processors is really hard.
4. Because a lot of the programmers are writing the V6 code.
5. Because a lot of the programmers are implementing new features to compete with AutoCad and PTC and SolidEdge.
6. Because a lot of the programmers are impelementing chrome and fluff to make demos look impressive.
7. Because at least a few programmers are trying to fix at least a few of the bugs in the existing code.
A few of Jerry's guesses are right. I'm not a programmer, but here's how R&D has explained it to me. The solver process for most operations is very linear. There are a series of operations that take place, and they have to take place one after the other. No individual step can begin until each preceding step has been completed in the correct order. As such, it's not possible to split out the operations. There are some places where they have been able to enable multithreading, such as drawings. But for most operations, it's just not possible with existing technology.
Conclude that you tell your program should be written from scratch for this, changes made to the software, this is not possible, I think is right?