You appear to be confusing the nature of what is returned by (ssget) with what is returned by (entsel). From (entsel), you can get the entity name of the selected object with (car) [the first element in a list of an entity and the selection point], but from (ssget), you need to use (ssname) to get an entity out of it.
Try something like this kind-of minimal adjustment [untested]:
(defun C:caxis (/ axis n cir coord s1 s2 x1 x2 x3 x4 x5); localize variables
(setq axis (ssget "X" '((8 . "0") (0 . "Circle")))); all Circles on Layer 0
(repeat (setq n (sslength axis)); number of Circles found
(setq
cir (ssname axis (setq n (1- n))); start with last one, count forward one each time through
coord (cdr (assoc 10 (entget cir)))
s1 (car coord)
s2 (cdr coord)
x1 (- 1 s1)
x2 (- 1 s2)
x3 (+ 1 s1)
x4 (+ 1 s2)
x5 (ssget "_C" '(x1 x2) '(x3 x4))
); setq
(command ".chprop" x5 "" "LA" "Center" "LT" "ByLayer" "")
); repeat
); defun
But that can be shortcutted considerably, with far fewer variables:
(defun C:caxis (/ cirss n cir ctr ctrents); localize variables
(setq cirss (ssget "X" '((8 . "0") (0 . "Circle")))); all Circles on Layer 0
(repeat (setq n (sslength cirss)); number of Circles found
(setq
cir (ssname cirss (setq n (1- n))); start with last one, count forward one each time through
ctr (cdr (assoc 10 (entget cir)))
ctrents (ssget "_C" (mapcar '- ctr '(1 1 0)) (mapcar '+ ctr '(1 1 0)))
); setq
(command ".chprop" ctrents "" "LA" "Center" "LT" "ByLayer" "")
); repeat
); defun
Or if what you're after are always things such as center-Lines that do pass precisely through the center of the Circle, you can make a zero-size crossing window:
....
ctrents (ssget "_C" ctr ctr)
....
That has the advantage that it's not limited to working as expected with only Circles with a radius larger than the square root of 2. In the case of Circles that size or smaller, the original approach will also change the properties of the Circle itself, and possibly other things you don't want, although that can be mitigated at least somewhat by object-type filtering in (ssget).
You might also consider putting some (if) tests in there about whether it found any Circles, or anything going through the middle of them, before proceeding, because it will run into problems if it tries to work with nil as a selection set.
Kent Cooper, AIA