It seams that rs.VectorTransform is not making the job properly because it is deleting the 4th dimension of the matrix (the translation part), probably because of a wrong treatment of the missing dimension of the vector (that should be equal to 1 instead of 0), in comparison the Rhino multiply method is doing well.
As a proof for this hypothesis, the following script should create 2 red anf green points at the same location, but it is not: the red point is obviously missing the translation part of the matrix.
To my point of view, this should be fixed !
Point3 = Rhino.Geometry.Point3d(1,2,3)
RotationMatrix44 = rs.XformRotation2(45,[1,1,1],[5,3,0])
TransformedPoint = RotationMatrix44 * Point3
TransformedPoint = rs.VectorTransform(Point3,RotationMatrix44)