Well, I am at least glad I was in the middle of the pack and not at the bottom ...
Incedently I changed a few things in the code and tested it here, I came up with a much better run time of 203ms and 205ms on a random list of 1000 elements.
(defun cnt ( lst / count item maxnum )
(setq maxnum 0)
(foreach x lst
(setq count (-(length lst)(length (vl-remove x lst))))
(cond
((< count maxnum) nil)
((> count maxnum)(setq maxnum count item (list x)))
((not(member x item))(setq item (append (list x) item)))
)
)
(list maxnum (reverse item))
)