I agree, it's not a bug, it's just that the command doesn't save option choices. That's true of a lot of commands -- for instance, DIVIDE doesn't remember how many divisions you last asked for, nor whether you last used the Block option, nor if you did, what Block name you used.
You can certainly have an Ellipse-by-Center command that builds in that Center option for you:
(defun C:EC () (command "_.ellipse" "_c"))
And if you want it again right after, Enter will recall the custom command, not the native Ellipse command.
[I usually spell out option words, rather than use only abbreviations, because of the possibility that options will change and there might some day be more than one starting with C. But if "_center" is spelled out here, it is taken as an Object-Snap call.]
Kent Cooper, AIA