there were four duplicate points in that list (indices 39, 45, 51 & 57). If you remove those (Cull Index) then the curves in Rhino and Grasshopper seem to be identical. Am I confused?
I think Rhino might be smart about it. There's usually quite a lot of 'smarts' in commands that are not ported to SDK functions as we expect programmers to be smart on their own behalf :)
I have also been getting occasional odd results from Interpolate Curve where the curve extends past the end point and loops back towards it. Usually the loop is so tight that you can't see the difference. It just looks like the line extends past its end point. Since I'm using the endpoint to generate a tangent, it really messes up the definition. I have found that changing the number of input points typically removes the issue, but it brings an uncomfortable level of uncertainty into the solution.