Are you aware of the fact that pps is a lower limit? Descent will send certain data (shots, data marked as urgent) faster.
Sniper packets are a good idea. Just sending the forward vector is not sufficient though, I believe.
The math bugs probably do not exist in d2x-xl for a long time, since I am using float math for calculations where fix can over- or underflow.
Important messages are something I have been thinking about, too. However, I didn't like the idea of a handshake mechanism for a couple of reasons; I can tell you more if you care.
Some of your changes look very much like being inspired by d2x-xl.

I will definitely look into your code; ty for the link.
karx