I am confused by your rotating around 0,0,0. I think this does nothing. I think rotating a 0,0,0 vector should produce 0,0,0. But it could return a unit vector instead. (See below).
In any case, you should be using Sphere’s GetWorldTransform instead of creating a transform out of Maths. Start with that.
If that doesn’t fix it, post an image of how your sphere is attached to the gun.
Pulling an answer out of nothing, based on the behavior of your spawn point, it looks like you’re adding a constant vector to it’s location. Something like 1,0,0, so your spawn point is always shifted 1 unit to the north. If this is true, your south/backward image would show the block slightly closer to the barrel. Try looking for something like that.