If you are a macosx backend user, you are welcomed to test the following branch: https://github.com/gellule/matplotlib. With the branch, when issuing a pylab.show() in non-interactive mode, the plot windows should appear in the foreground with focus, instead of appearing in the background. It should make things a little easier for you.
I am also curious to know what people think of making pylab.show() also yield the focus to the plot windows in -interactive- mode? All the other commands update the plot windows automatically, keeping the focus in the python interpreter. So pylab.show() would only do that: yield the focus to the plot windows. That is not in the branch (yet).