Chris' comment is actually the answer, but I can't format things well in comments
Oxford Advanced Learner's Dictionary 8th edition (app edition), which includes contents from OALD 2010 and Oxford Learner's Pocket Thesaurus 2010 does not have an entry that says "neverending" (compound) that your teacher suggests, what it does have is "never-ending" (your version).
As of this writing (typing?) Oxford's online resource does not have "neverending", what it does have is "never-ending"
The same stance is also taken by UK Advanced Cryptics Dictionary (this dictionary is used by Opera, the browser I'm using). Opera highlights "neverending" as wrong, suggesting corrections as "never ending" or "never-ending"
The free dictionary also says the same: if you try to search for "neverending", it will suggest "never-ending" or "never ending" instead
While technically you can join two words into one like "neverending", I'd say that your usage is much more common and recognized. Perhaps you should speak about this to your teacher.
Traditionally, a clause is indeed a finite verb and all its dependencies. The subject of the sentence is he, the (direct) object his daughter. The verb let is special in that it often has an object and an infinitive as a tertiary complement (third thingy that strongly depends on it, besides subject and object). You could analyse the infinitive after let as an object complement, because it is very much related to the object, his daughter.
An infinitive is externally much like a noun (it can be governed by a verb); internally it is a verb (it can have arguments that verbs can normally have). It has an argument that depends on it: to the music. One might call the latter an adverbial constituent.
Other linguists use a different definition of clause: they define it as any verb and its dependencies. In that case, the infinitive listen and its argument to the music form a subordinate clause together. It doesn't matter which definition you choose, as long as you are consistent.
But, even according to that definition, I wouldn't call his daughter a subject, because subjects are normally marked as such:
She listened to the music. (she = the subject form of the pronoun)
He let her listen to the music. (her = the non-subject form of the pronoun)
It does fulfil the semantic role that the subject normally has with the verb listen ("experiencer"), whenever there is such a subject; but subject is a syntactic category, not a semantic role, so that is irrelevant. If we called her the subject of listen, then we would have to do the same in this sentence:
She stalked me. (she = subject)
I was stalked by her.
Her expresses the same semantic role as she ("agent"), as is normal in passive sentences with by; but we never call her the subject of the verb in such cases, because semantic role is not what the term subject is all about.
Best Answer
According to Whitesmoke, "Hyphens are used to link words that function as a single adjective before a noun."
But the stronger rule seems to be, if a hyphen would reduce confusion, use it. IMHO, a hyphen makes your example read more clearly... but according to this Wikipedia article, "Compound adjectives that include comparatives and superlatives with more, most, less or least" are not normally hyphenated.
In short, there doesn't appear to be a hard-and-fast rule (wait, should I have not hyphenated that?).