Is the completeness theorem for first order logic relevant to the following theorem?
Let $S$ and $T$ be two sets of sentences in the language of set theory, and suppose, for some class $M$ we can prove from $T$ that $M\neq0$ and $M$ is a model for $S$. Then $\operatorname{Con}(T)\to \operatorname{Con}(S)$.
If $S$ were inconsistent we could prove $\phi\wedge\neg\phi$ for some (or any) sentence $\phi$. Then, arguing from $T$, we can prove $S$ is true in $M$ and hence $\phi^{M}\wedge\neg\phi^{M}$, which would be a contradiction. Hence $T$ is inconsistent.
The second sentence of this proof is really what confuses me. I feel like there is a “provable$\Rightarrow$ true” application somewhere here (if $S\vdash\phi$ and $S\vdash\neg\phi$ then $\phi$ and $\neg\phi$ are true in any interpretation that makes all sentences of S true). But this does not hold for second order logic (if $S$ is ZF for instance, or $\phi$ quantifies over subsets), or does it? Maybe I'm missing something simple.