Jonny,
I am pretty new to the game, and probably a year and a half too late to this discussion. In reading through your posts from early 2008, it was really nice work that you, Nedlands, CAS-117, Mosquill and Zangoo did for ballistics. (But this all seemed to stop when Zangoo left.) At the risk of telling you something you already tried, and of flogging (selling) a dead horse, there might be a way to get around the tracer bug:
There must be something telling the program whether each round is a tracer or not. If this information can be passed to the ballistics equations, here is a possibility. In the ballistics equations, replace all instances of velocity v with (v + 10/9 * v * Tracer_Flag), where Tracer_Flag = 1 for tracer rounds and 0 for regular rounds.
For regular rounds, the position of each round would be as you already have them (i.e. the 10/9 * v * Tracer_Flag becomes 0, leaving only v). For tracer rounds, the physics in the
PR universe would make them move in the same trajectory as regular rounds, even though the velocity is apparently lower. (Note: Some posts on the message boards suggested that real tracers tend to fall a little short of where the non-tracer rounds fall. This could be modeled by using a constant like 1.11 instead of 10/9.)
If damage is based on bullet velocity, and I'm NOT sure that it is, the above velocity modification could be applied for damage calculation as well.
Just a thought. Hope it helps.