Un SO de 32 bits es capaz de reconocer 4 GB de memoria en total, 2^32 direcciones de memoria, el problema es que la arquitectura del PC obliga a que los puertos PCI se asignen de la misma manera, así como los dispositivos de memoria que ocupen éstos puertos, esencialmente la gráfica y la tarjeta de sonido, siendo la primera la que "quita" más espacio de memoria, de ahí que no te reconozca gran parte.
El problema es que el único SO de 64 bits que te recomendaría es el Linux, ya que Vista consume recursos como nadie, mientras que la versión de XP de 64 bits está en un estado muy verde, del cual, no va a salir, ya que se está migrando a Vista, una opción sería meterle un Windows Server 2003 de 64 bits, o en todo caso, esperarse a que salga el Service Pack 3 de Windows XP, que se supone eliminará la limitación impuesta haciendo que se puedan usar hasta los 4 GB de memoria disponible.