Glad to see it's fixed. I'll playtest it tonight. That said though, I don't know that I agree with binding a beam's range to its DPS, much less it's sustained DPS (which was the 1.4.2 implementation). By making one a function of the other, you remove a dimension that beams can use to differentiate between them -- we can no longer have a short range, high damage, high diffraction assault beam and a longer range, lower damage close support beam. From a game design perspective, I don't know that that's ideal. From a realism perspective, I think different beam emitters can have different diffraction factors.
Perhaps a better way of dealing with it is for beams to use their CSV range and DPS, and for the game to calculate diffracted DPS accordingly as a function of the two, down to the threshold at max range?
On another note -- the excessive harpoon speed seem to be hardcoded for whatever reason. In my personal mod I've made a copy of harpoon_mrm.proj and called harpoon_mrm_rc.proj. I then changed all references to harppon_mrm to the rc version and that seems to have fixed the issue.