When using a Clipping Spline that is the same size as a Surface, I get incorrect deformation around the edges.
It is important when using surfaces that the array is completely enclosed within the boundary of the surface. Any geometry which falls outside of the boundary will be deformed incorrectly, as you can see in the example below .
You may also get deformation if the boundary of the spline and the boundary of the RailClone object are exactly the same. Surfaces work best when they are slightly larger that the RailClone object that they deform. This situation can often occur if you extract a clipping spline to use in RailClone from the surface perimeter. If you do this then you should also extrude the surface's open edges slightly so that they are larger than the clipping spline. For complex surfaces getting a decent extrude that continues the direction of the adjacent polygons can be tricky but we find the Extend Borders script by Racoon Artworks does a pretty good job.