You need to re-think your condition as Erel says above.
What does this statement mean:
If A = x <> "" : x is ANY string except for empty
If B = x <> "0" : x is ANY string except for 0
A OR B = x is ANY string.
So both your conditions re-include each other.
When you rewrite it as:
if y="" then
if x <>"" then
if x <> "0" then
it forms and AND condition i.e. x <> "" AND x <> "0"