I think I might be to blame for this question.  It looks very similar to something I once wrote, with the same gap.  If so, sorry!

The result is true, but the approach described will not work.  We have to choose the $f_n$ with more care.  

(Indeed, suppose $x$ is outside the linear span of your $x_n$.  Note that $E$ is closed, hence so is $E+x$.  You could thus choose the functionals $f_n$ perversely using Hahn-Banach so that they all vanish on $E +x$; if it does in fact turn out to be the case that $\mu(E)=1$ then you'll still have $q(f_n, f_n)=0$.  Then $x$ is in $\bigcap_n \ker f_n$ but not in $E$.)

I think the following should work instead. Let $F = \{f \in X^* : q(f,f) = 0\}$.  Since $X$ is separable, the unit ball $B^*$ of $X^*$ is weak-* separable metrizable, hence so is $B^* \cap F$.  So pick your sequence $\{f_n\}$ to be weak-* dense in $B^* \cap F$.  Suppose $f_n(x) = 0$ for all $n$ and take any $f \in F$, renormalized so that $\|f\| \le 1$.  Pass to a subsequence so that $f_n \to f$ weak-*.  Then $0 = f_n(x) \to f(x)$.  Since $f$ was arbitrary we have $x \in E$.