Try this Dan,
(defun rjp-addtext (ins hgt text / doc x)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(vla-addText
(if (= (getvar 'cvport) 1)
(vla-get-paperspace doc)
(vla-get-modelspace doc)
)
text
(vlax-3d-point ins)
(* (getvar 'dimscale) hgt)
)
)
(defun c:x (/ index ss obj lyr ept spt mpt)
(setq index -1)
(if (setq ss (ssget "x" '((0 . "LINE"))))
(progn
(while (< (setq index (1+ index)) (sslength ss))
(setq obj (vlax-ename->vla-object (ssname ss index))
lyr (vla-get-layer obj)
ept (vlax-get obj 'endpoint)
spt (vlax-get obj 'startpoint)
mpt (polar ept (angle ept spt) (/ (distance ept spt) 2.0))
)
(rjp-addtext mpt 1 lyr)
)
(princ)
)
)
(princ)
)
Puts the layername at the end of the line.