Not sure why the code was posted that way 2 typos.
 
	 
 
(defun c:ellpl ( / lwpoly obj oldsnap num inc dist plst pt)
(defun LWPoly (lst cls)
 (entmakex (append (list (cons 0 "LWPOLYLINE")
                         (cons 100 "AcDbEntity")
                         (cons 100 "AcDbPolyline")
                         (cons 90 (length lst))
                         (cons 70 cls))
                   (mapcar (function (lambda (p) (cons 10 p))) lst))))
(setq obj (vlax-ename->vla-object (car (entsel "\nPick ellipse "))))
(setq oldsnap (getvar 'osmode))
(setvar 'osmode 0)
(setq num 100)
(setq  inc (/ (vlax-curve-getdistatparam obj (vlax-curve-getendparam obj)) num)
       dist 0.0
	   plst '()
)
(repeat (+ num 1)
       (setq pt (vlax-curve-getpointatdist obj dist))
	   (setq plst (cons pt plst))
       (setq dist (+ dist Inc))
)
(LWPoly plst 1)
(setvar 'osmode oldsnap )
(princ)
)