I want the simplest possible way to pop up simple dialogs in Python scripts. Ideally, the solution would:
Zenity works under Linux and Windows, and can be called from Python directly:
import os
os.system('zenity --info --text="Stuff"')
Using --warning instead of --info gives a warning dialog box instead of an info box. Other options can be found here: https://help.gnome.org/users/zenity/stable/
The return values from question boxes need to be captured for acting on, though, which is more complex, and you have to learn about communicating with subprocesses, etc.
It can also be used with the PyZenity front-end, which makes capturing return values simple:
from PyZenity import InfoMessage
InfoMessage('Stuff')
I have tested PyZenity in both Ubuntu and Windows XP, and it works in both.

I read that Zenity is GTK+ only, but I tried it in Gnome and KDE and it looks native in both. The port to Windows does not look native, though, because it uses the wrong GTK theme?
There are also other programs like KDialog and Xdialog that might be interfaced to a similar Python frontend that could check and see what executables are available so that it automatically takes care of everything? (There's a Ruby frontend for KDialog, too.)
I don't know if PyZenity works under OS X, either.