Here's a version (Budcad didn't say this was copyrighted material) that does not use ANY LDT references. Just create a new DVB file and add this to the ThisDrawing module:
Public Sub Blocks2Points()
On Error Resume Next
Dim AeccApplication As Object
Select Case Int(Mid(ThisDrawing.GetVariable("ACADVER"), 1, 2))
Case Is = 15
Set AeccApplication = ThisDrawing.Application.GetInterfaceObject("Aecc.Application.2")
Case Is = 16
Set AeccApplication = ThisDrawing.Application.GetInterfaceObject("Aecc.Application.4")
Case Is = 17
Set AeccApplication = ThisDrawing.Application.GetInterfaceObject("Aecc.Application.6")
Case Else
MsgBox "This function not designed for use with this version. Exiting......"
Exit Sub
End Select
Dim AECProj As Object
Set AECProj = AeccApplication.ActiveProject
Dim cogoPnts As Object
Set cogoPnts = AECProj.CogoPoints
Dim newPnt As Variant
Set SSET = ThisDrawing.SelectionSets.Add("temp3")
SSET.SelectOnScreen
For Each ent In SSET
Select Case ent.EntityType
Case 7
array1 = ent.GetAttributes
newPnt = ent.InsertionPoint
cogoPnts.NextPointNumber = array1(0).TextString
Set newCogoPnt = cogoPnts.Add(newPnt, 2)
newCogoPnt.RawDescription = array1(1).TextString
newCogoPnt.Elevation = array1(2).TextString
End Select
Next
ThisDrawing.SelectionSets.Item("temp3").Delete
End Sub
I don't have a drawing to test this in, but I'm pretty sure it will work in any version of LDT from LDT2->LDT2007