idle and ipython and axis

I am not sure, but I think this difference in behavior is

    > b/c IPython is a bit better about calling
    > draw_if_interactive after "most pylab functions" (see
    > Eric Firing's
    > than IDLE is.

No, this isn't it. pylab does the draw_if_interactive call, and it is
called by pylab.axis:

def axis(*args, **kwargs):
    ax = gca()
    v = ax.axis(*v, **kwargs)
    return v

I noticed in your subsequent post that interactive is set to True in
your rc file. Make sure you are not running from the matplotlib
install directory or it will pick up your directory specific
matplotlib rc file.

You might want to do

  >>> from matplotlib import rcParams
  >>> print rcParams['interactive']

from within your IDLE session to verify. Does interactive updating
work with other pylab commands. I would be very surprised if just
'axis' were failing.