Amount of damage depend on flFraction value. Thus forcing your value you forcing inappropriate damage.
Furthermore you don't care about possible second and third traces that starts "behind" aim point. Thus you breaking the bullet penetration ability.
You rather should stop original trace and call new one to replace original trace results passing in original trace pointer and destination vector that lies outside world and on imaginary line of view. Thus you can be sure that trace result will be appropriate.
Since the issues are quite serious i moving this back to new plugins.