I would say it is a bug. You don't get any z-lines when using grid3d("y",n=2)
even though it should be the same. You can work around it by using the list specification of at, setting the x element of the list, eg:
grid3d("y", at = list(x=pretty(spts, n = 2)))