I never said that x=0. I said that x could be 0. More specifically, I stated that the statement x^3+4x=0 AND x=0 is not inconsistent.
All I have shown in is that (assuming we are working in C), the statement x^3 + x=0 implies that x \in {0, 2i, -2i}.
I suppose you could complain that I have not defined a sense in which {0, 2i, -2i} is correct while {0, 2i, -2i, 7} is incorrect, as it is still a true statement that x^3+4x=0 implies x \in {0, 2i, -2i, 7}.
However, you can easily make this intuition rigourous by saying that the question is to compute the set {x | x^3+4x=0}. Sure, this is invoking machinery not explicitly present in the statement x^3+4x=0. I will even concede that we do not make this machinery explicit when teaching highschool students. However, it is far less machinery than your approach.
I am not claiming that the algebraic approach is not rigourously sound; merely that it is not the only rigourously sound approach.
As far as I can tell, you are claiming that it is the only rigourously sound way of stateing the question.
>You can't logically say, in a consistent manner, that x is in R and x^3+4x = 0 and that x is 3 different values.
I believe I have made this point clear, but I never claimed x is 3 different values. The claim I made was that x is a member of the set {0, 2i, -2i}