Someone asked me today in class about the use of
For how long or How long?
This is the answer:
Back in the nineteenth century someone decided, on the analogy of a language other than English, that it was improper to end a sentence in English with a preposition, even though the language had been doing just that since its beginnings. So we're required to follow a rule in formal written English that says we must put the preposition and its objects in the correct order near the word they modify.
So in formal English we write: "For how long have you been in therapy?"
In colloquial U.S. English we say: "How long have you been in therapy for?"
The particular example you chose has a simpler solution that works in both formal and colloquial English: just omit "for," since "how long" and "for how long" are synonymous: "How long have you been in therapy?"
Most other prepositions in questions can't simply be discarded: "To whom did you give the message?" is formal while "Who did you give the message to?" is standard in spoken U.S. English. Note the nominative case of the pronoun "Who," also colloquial.
Spanish Explanation / Ahora en Español:
Algunas indicaciones para diferenciar How long? y For how long? em inglés. Como regla general diremos que las preposiciones en las preguntas informales van al final de la pregunta. En este caso en concreto la mejor solución es usar How long? Ya que significa "¿Por cuánto tiempo? Y es equivalemte a for how long? que queda algo redundante.