I've been trying to achieve this for more than a year, and it's finally done!
Thanks to jernej, the maintainer of the GIMP binary installers for Windows.
First remove any existing versions of gtk+, gimp, pycairo, pygtk+ and numpy from the computer. Remove any existing versions of Python, too, whether that is the Python distribution from www.python.org, or ActiveState Python.
Download from these URLs:
http://www.activestate.com/Products/Act
http://sourceforge.net/project/showfile
(GIMP) click 'Download' then 'gimp-2.3.12-i586-setup.zip'
(GTK) click 'Download' then 'gtk+-2.10.6-1-setup.zip'
Both of these are zips containing a single installer .EXE.
http://www.mapr.ucl.ac.be/~gustin/win32
in the 'Python 2.4' division in the 'pygtk 2.8', download both files.
http://sourceforge.net/project/showfile
download Numpy (numpy-1.0.1.win32-py2.4.exe)
And install. I installed in this order:
ActiveState Python
NumPy
GTK+
PyCairo
PyGTK+
GIMP (verify that the 'gimp-python' extension is checked)
The first thing you should do after installing is open GIMP, go to the toolbox, and select 'Xtns->Python-Fu->Console' from the toolbox menu. This should bring up a window titled 'Python Console'. Now load an image.
Enter the following into the console:
i = gimp.image_list()[0] print i
It should print out something like "<gimp.Image 'mypic.png'>". If this works, then your PyGimp installation is in good shape!

(this is not my windows system; It is just the one I tried this on.)
PART 1 COMPLETE.
PART 2 deals with installing my PyGimp plugins (of which there are many)