I understand most people use "cocktail" to be roughly synonymous with "mixed drink". but technically, cocktails are supposed to have liquor, sugar, and bitters (or ingredients that fill those roles). a cosmo has no bitters or similar ingredient. it's a highball.
I was taught that the only "strong" rule about cocktails was that it had 3+ ingredients. Every other rule (like sweet + bitter) has notable exceptions, ie. drinks like the cosmo substitute a citrus for the bitters.
Plus, the whole sweet cocktail thing was a more modern invention of the prohibition era to cover up the taste of harsh spirits. Plenty of older cocktails around.
EDIT: It kinda feels like the rule about email address parsing. The only good rule is that it has an @ symbol.
as an aside, I do like a good cosmo, but it's not technically a cocktail anyway.