The Closest point on curve without splitting or trimming the curves

Something like the following should work:

Option Explicit
'Script by Mitch
'Version 1 August, 2015

Call FindClosestPointsSample()
Sub FindClosestPointsSample()
    
    Dim crvs,pt,crv
    crvs = Rhino.GetObjects("Select curves to check", 4,, True)
    If Not IsArray(crvs) Then Exit Sub
    
    pt = Rhino.GetPoint("Pick reference point")
    If Not IsArray(pt) Then Exit Sub
    
    Dim cparam,cpt
    Call Rhino.EnableRedraw(False)
    For Each crv In crvs
        cparam = Rhino.CurveClosestPoint(crv, pt)
        If Not IsNull(cparam) Then
            cpt = Rhino.EvaluateCurve(crv, cparam)
            If IsArray(cpt) Then
                Call Rhino.AddPoint(cpt)
            End If            
        End If    
    Next
    Call Rhino.EnableRedraw(True)
End Sub

You can pick multiple target curves with this script.

HTH, --Mitch