Hi. I don't usually read this site, but a friend who does told me about your question. Let me give a couple of answers. The first is that my proof completely doesn't work if $f$
has non-trivial zeros. The second is that the answer depends on n. Hilbert himself proved in 1893 that if $n=3$ and $f(x,y,z)$ is psd with degree m, then $(x^2+y^2+z^2)^N*f(x,y,z)$ is a sum of squares. Landau showed that it is a sum of 4 squares and the bound on $N$ is on the order of $m^2/8$. See my 2000 paper "Some concrete aspects of Hilbert's 17th problem" at
http://www.math.uiuc.edu/~reznick/hil17.pdf
esp. p. 4. On the other hand, if $n \ge 5$, then there are psd forms with "bad points"; that is $f(a) = 0$ and if $h^2 f$ is a sum of squares, then $h(a) = 0$ as well. An example of a form with a bad point can be found in my same paper, p.16. The first such form was found by E. G. Straus, and the expert on the subject is Chip Delzell at LSU. As far as I can remember, the case $n=4$ is still open. You might also be interested in
http://www.math.uiuc.edu/~reznick/aud.pdf
in which is shown that for fixed $(n,m)$, there does not exist a finite set of denominators $\{h_1,\dots, h_T\}$ so that if $f(x_1,\dots,x_n)$ is psd with degree $m$, then $h_j^2f$ is a sum of squares for some $j$.