`show` shouldn't really come into play with the OO interface.  This is really only relevant to the non-OO (matlab-style) interface.

I agree -- it would be nice to have matplotlib know less about IPython, but there's currently a very elaborate dance that the two projects do to make `ipython --pylab` work as well as it does.  I think things are already better than they used to be, if you can believe it, in that IPython monkey-patches hooks in matplotlib in many cases, rather than matplotlib needing to have them already in place.  But there's always more work to be done in that regard.