postgresql out-of-memory
I usually prefer to start with lower shared buffers on both Linux and Windows, and keep work mem low also.  Maintenance_work_mem can be left generally the default too.  Keep in mind that too low a maintenance_work_mem may slow down db restores but it won't stop it.  Generally you are better off starting low and then tweaking upward to find sweet spots than starting too high and working your way down.

Secondly you are reserving half of the memory on your box for PostgreSQL and only PostgreSQL.  This can have very unfortunate side effects if you are doing anything else.  Since this is Windows XP I am assuming it is not a dedicated server, and you are going to do far better with conservative settings here.