I think the more important distinction between "command line" and not is wether it can be run without X.
What about a GUI program that uses text to control it? Many GUI programs do have command-line components in them (editors, ides). (not suggesting that makes them command line programs per se, but that the idea of "command-line"-ness transcends X)