problem with 'is zero or nonzero'



(Maxima 5.30.0 using Lisp SBCL 1.1.8-2 on Fedora 19)

I guess it is a Maxima-wide problem with resolving constant conditions, 
that I ran into back in July for integrate()
and now with desolve().  Whenever Maxima asks 'Is ... zero or nonzero?' 
both  'nonzero' and 'zero' are interpreted as 'zero'.
I suspect the only way to specify non-zero is to say 'n':

atvalue ('diff (f(x), x), x = 0, v0)$
atvalue (f(x), x = 0, x0)$

desolve('diff(f(x),x,2)=-(w*w)*f(x), f(x));
Is w zero or nonzero?
nonzero;
(%o16)                         f(x) = x0 + v0 x

desolve('diff(f(x),x,2)=-(w*w)*f(x), f(x));
Is w zero or nonzero?
n;
v0
(%o17)          f(x) = x0 cos(w x) + -----  sin(w x)
                                                      w