You first need to understand the difference between using RhinoCommon “virtual geometry”, and using rhinoscriptsyntax methods, which generally creates/modifies objects that exist in the Rhino file.
The two are not interchangeable. In your script above you are mixing the two without really knowing what you are doing.
RhinoCommon “virtual geometry” does not exist in the document and is not automatically added to the document, you need to specifically do that in another step.
rhinoscriptsyntax generally references objects already in the document and also adds new ones automatically to the document.
I would suggest you stick to rhinoscriptsyntax for now (until such time as RhinoCommon becomes clearer via experience, manuals, tutorials, etc).
import rhinoscriptsyntax as rs
#get Curve
curveID=rs.GetObject("Select Curve",4)
sp=rs.CurveStartPoint(curveID)
rs.AddPoint(sp)
#get new point to change seam to
point=rs.GetPointOnCurve(curveID)
#point=rs.coerce3dpoint(point) - you do not need this
#you need to get the *parameter* of the point on the curve to adjust the seam
param=rs.CurveClosestPoint(curveID,point)
#now change the curve seam
rs.CurveSeam(curveID,param)
#check the result by adding a point
rs.AddPoint(rs.CurveStartPoint(curveID))