What is a non-geographical feature?
Features in the most general sense are analagous to records in computer science:
In computer science, records (also called tuples, structs, or compound data) are among the simplest data structures. A record is a value that contains other values, typically in fixed number and sequence and typically indexed by names. The elements of records are usually called fields or members.
So a record can be said to have "attributes", e.g. the records in an "attribute table". One of these attributes may be a spatial data structure describing the geographic (or non-geographic -- not every feature has to exist in the real world) coordinates of the entity represented by the record.
In a GIS, often a distinction is made that a feature represents a spatially-enabled record, however this is not always the case.
For example, in FME (the "Feature Manipulation Engine" by Safe Software), features may be spatial or non-spatial. Indeed, you will very often be working with non-spatial features in that environment, e.g. the rows of a CSV file would be considered features.
Regarding your examples of a compass or scale bar, yes, I think these could be considered non-geographical features, because they don't represent real world entities, but they are themselves entities. I would suggest that they are cartographic features, since they represent distances or directions on a map. As such they are features of a map, not features of the Earth. In another sense, one could argue that digital versions of these elements are indeed records in the computer memory/data structures that make up a map; for example in ArcGIS, these might be represented by elements on a page layout, and when you save the map, these records are persisted in structured storage in the form of a map document (MXD) file.
According to the "OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 1" (see http://www.opengeospatial.org/standards/sfa ) #4.11 a feature is an "abstraction of real world phenomena. (...) [adapted from ISO 19101]". This backs up the definition of "feature" by SS_Rebelious.
In order to avoid unwanted semantical constraints I prefer to say, that "a feature is an object - like in OO programming - which is an instance of a class, and has (in addition) at least one geometry attribute, which includes a dimension (2D/3D) and a coordinate reference system associated to it."
So a "non-geographical feature", to me, is just an object with no geometry attribute (value).
P.S. I would strictly distinguish "feature (or feature instance)" and "feature type (or feature class)", like "object" and "class" in mainstream IT, like in the OGC "Simple Feaurre Spec." mentioned above.