Hey Shrekleton -
This is an interesting issue. This actual looks like it might be an issue of absolute versus relative positioning. I know you have it set up to use relative position, but I also noticed in your code you have coded the Beam’s direction Z coordinate at 0 which I would have also done, but I am wondering if this is causing your issue with an absolute value being substituted in a relative positioning setup? In which case, the effect you are experiencing with firing your beam and moving your character is actually a bug which forces the engine to take the relative positioning information over the absolute information.
Hopefully this will give you something to start with as we continue to look at the issue from this end -
Eric Ketchum