Okay, now I was able to take a look into it, but unfortunately the construction script is only executed when the rotation was changed (i.e. I moved the mouse) but not when I just hold down the mouse button. I used 4.15.2 built from source.
But about the rotation problem, it’s the way you have already written it: Because you feed the combination of current rotation and cursor rotation into the TransformArray, which is used as current rotation in the next execution, the cursor rotation is constantly added to the object rotation. And this is new for me: This doesn’t happen with the offset vectors because you create them in the construction script of the MeshEditor and don’t change them in the cursor construction script.
So my suggestion would be following: Instead of using “Add Instance World Space” use “Add Instance” at the end of Stream Edit Mode. For this you have to keep all transforms local which is a lot of easier in the end. Then you can copy the cursor’s rotation to the MeshEditor rotation and keep a local rotation for the mesh instances, which is automatically added to the world rotation of the MeshEditor.