That's explained in #4276.
When performing an attack in PerfomAttack function of Attack.js, we compute an expected position of the target (aiming) taking account of its movement and of the spread.
But It could occur that the expected target pos is badly out of the attack range.
See http://trac.wildfiregames.com/attachment/ticket/4276/fireoutofrange.mkv
There is different way to fix it, I suggested to just cancel the attack.