What appears to be incorrect in your method is that you seem to be ruling out the possibility that $f(0)=1$ because it leads to a result that is "not useful." In a logical argument, you can only rule something out if it leads to a contradiction. The conclusion $1=1$, while indeed not useful, is nonetheless true. So $f(0)=1$ remains a viable option.
Indeed, as Kavi Rama Murthy's answer shows, it's the possibility $f(0)=2$ that leads to a contradiction: Letting $x=0$ and $y=2$ in the equation $2+f(x)f(y)=f(x)+f(y)+f(xy)$ gives
$$f(0)=2\implies 2+2f(2)=2+f(2)+2\implies f(2)=2\not=5$$
However, knowing now that $f(0)$ must equal $1$ is, as you put it, not useful. All it says is that $2+f(y)=1+f(y)+1$. But neither is the conclusion $f(1)=2$, which you can derive from $2+f(1)f(2)=f(1)+f(2)+f(1\cdot2)$, because all it'll tell you is that $2+2f(y)=2+f(y)+f(y)$.
In point of fact, nothing you do here will prove useful, because the problem, as stated, has dropped an assumption from the question linked to in the OP, namely that the function $f$ be a polynomial. Without an additional assumption on the nature of the function, $f(5)$ can have literally any value.