hi there genetransfer, first, thanks for your observations.
what you point actually happens when you change orientation/location using a script (reading orientation/location of an object and setting orientation/location for another object). that happens, as Im sure you are well acknowledged, because things are updated per cycle (60/second) and cycle 1 read and things are updated just in cycle 2.
this can be avoided just linking things and dont updating location/orientation via script, problem is that the cam didnt behave as expected, and when moving fast didnt update on the setup values (1/1), like it took some time... then results where worst.
one way I found to make it work "perfect" was point the cam to the weapon itself, but then the problem is user would need to calibrate the cam if the weapon (skinmesh weapon) were changed for a custom one, which is not cool... and is not the goal (make it easy)
so the more convenient solution was that ... which have that consequence, that little delay your fine eye detected.
ofcourse, if you find a magic solution, or a not magic solution or/and pretty elemental one that Im not seeing, you are encourage to, plus critic offer solution, AND OFCOURSE... in the event this come out the way you see now.. Im pretty sure is nothing you cannot solve.