Remember that a line is simply a Curve at its base. Thus you can use the Curve.GetSplitCurves method which will return a collection of DBObjects that you can append to the space. Hope this points you in the right direction. If you need more help, let us know.
Using lck As DocumentLock = Application.DocumentManager.MdiActiveDocument.LockDocument
Using db As Database = HostApplicationServices.WorkingDatabase
Using trans As Transaction = db.TransactionManager.StartTransaction
Try
Dim cur As Curve = trans.GetObject(prEnt.ObjectId, OpenMode.ForWrite)
Dim pt3Dcol As New Point3dCollection
Dim endDist As Double = cur.GetDistAtPoint(cur.EndPoint)
Dim divLen As Double = endDist / 3.0
Dim pt As Point3d
For dbl As Double = 0.0 To endDist Step divLen
pt = cur.GetPointAtDist(dbl)
pt3Dcol.Add(pt)
Next
If pt3Dcol.Count = 0 Then GoTo TransEnd
Dim objCOl As DBObjectCollection = cur.GetSplitCurves(pt3Dcol)
Dim bt As BlockTable = trans.GetObject(db.BlockTableId, OpenMode.ForRead, False)
Dim btr As BlockTableRecord = trans.GetObject(bt(BlockTableRecord.ModelSpace), OpenMode.ForWrite, False)
If objCOl.Count > 0 Then
For Each dbObj As DBObject In objCOl
btr.AppendEntity(dbObj)
trans.AddNewlyCreatedDBObject(dbObj, True)
Next
End If
cur.Erase()
TransEnd:
trans.Commit()
Catch
trans.Abort()
End Try
End Using
End Using
End Using