Then I use the product rule:
[tex] f'(x) = f'(x)f(0) + f(x)f'(0) \\[/tex]

This is your error. f'(0) means f'(x) evaluated at x=0, not "the derivative of f(0)". f(0) is a constant and necessarily has derivative 0. You are just saying that f'(x)= f'(x)f(0). (And so showing in a different way that f(0)= 1.)

I am also not happy with using the product rule to show that f ' does exist. Part of the hypotheses for the product rule is that the derivatives must exist.
Go back to the original definition:
[tex]f'(x)= lim_{h \rightarrow 0}\frac{f(x+h)- f(x)}{h}[/tex]
using the fact that f(x+h)= f(x)f(h), that f '(0) exists, and that f(0)= 1.\