For loops skipping steps



I've never used this before, so sorry if I'm doing it wrong, but I have a
problem that I absolutely cannot figure out.

It took me awhile to condense my problem down to something quick and easy
to explain.  Using the draw package with multiplot_mode(screen) and
set_draw_defaults(xrange=[-10,10],yrange=[-10,10]), if I define a function

b(k):=
for j:-10 thru 10 do
draw2d( points( [ [ j,k ] ] ));

It should (and it does) create a line of points along the line y=k.  But if
I then evaluate

for k:-10 thru 10 do b(k);

Then it works (mostly) for the first couple of lines, but then it skips
almost all of the points.

This is the basic idea, but it has other effects.  It's causing me some
headaches in some 3d plots.  Any ideas on either what I'm doing wrong or
how I can work around this?

Thanks.