id have just gone straight to the beam weapon class to see what the actual problem with them is, i havent looked but it would prolly just need to check for another target in x range of the current target before turning off the beam, that would globally fix all beam weapons then.
*edit*
just had a quick look it seems everytime the weapon kills a target it enters idlestate instantly which kills the beam, but then it aquires another close target the beam starts kills the unit and enters idle state and so on, because beams tend to be powerfull as soon as it starts up the unit is usally dead so
it quickly powers down ala what you see in those videos.
what i would do is go straight to the default beam weapon class, and add some code there,
basicly start a thread for when the beam(s) start this will count down along the beams lifetime, when this runs out kill the beam and enter packing mode so it powers down as its supposed to and waits til it can fire again, id also get all enemy targets within the beams weapon radius and add them to a table, when it kills that unit remove it from the table, now though when it enters idle state check the units table and the lifetime timer if both > 0 then do not kill the beam, let it swing round towards the target if its not vertical, let the lifetime thread kill the beam or if there is no units to kill, end the beam, it wouldnt be to difficult to do this and would fix all beam weapons.
you could even add while your in that class code that beams can store energy, to make them a little more beleiveable, use the timer thread for when the beam can fire instead of the timeout, so, think of it like this:
if a beam has a timeout of 20 seconds and it fires on an insignicant unit, then stops, it wont fire again then for 20 seconds, yet it only took 1 second to kill the unit, here is where we use the lifetime timer which still says this beam can fire for 19 more seconds without pausing, use that lifetime timer as the beams can or cant fire trigger before it has to recharge.. hope you understand that, if a beam can fire for 10 seconds then it should be allowed
to fire for 10 seconds before it needs recharging, it can then fire for 5 seconds then stop then instantly fire for 2 seconds, then stop then again instantly fire for the remaining 3 seconds before it needs to charge, weapon timeout.
that wouldnt be that hard to impliment, and i think would greatly impove current beams to be more life like.
all the code needed is already basicly in the befaultbeamweapon class.