I'm guessing the ENAME is the unique identifier of the object in ACAD's database - kind of like a pointer - that is saved in the drawing and accessible from session to session of CAD.
The pointer part is correct, however the ename value changes from session to session. The only thing that stays the same is the entity's handle. The ename and vla-objectid are both recreated, AFAIK, every time the drawing is opened. (Although I have never run tests to verify this, I'm just repeating what I've read)
BTW, you CAN use (entnext) with the list returned by (entget)....you just need to do the entnext on the ename......
(setq ent (entnext (cdr (assoc -1 ent))))
should do it.