En esta página te lo dice claramente y con detalles técnicos:
http://msdn.microsoft.com/en-us/library/aa366778.aspxWindows XP de 32bits te soporta hasta 4GB de memoria RAM
Destina 2GB para aplicaciones y 2GB para el sistema
Windows XP de 64bits te soporta hasta 128GB
Y Windows Vista depende la versión pero excepto la versión Starter todas te van a soportar los 4GB
Ten en cuenta que el Windows XP normal es el de 32bit, osea que no vas a tener ningún problema, quien te lo dijo te lo dijo mal.
En cuanto a si es suficiente, depende para que lo vayas a usar y si el procesador es bueno ya que de poco te sirve tener mucha RAM y un Pentium 4, yo diría que para Windows XP 2GB podría estar bien si no vas a ejecutar muchas aplicaciones a la vez y que consuman muchos recursos, para un usuario normal esta muy bien, sin embargo en Windows Vista ya no esta tan bien, porque ten en cuenta que Vista consume bastante más RAM que el XP y si ejecutas un videojuego potente y que no gestione bien la RAM (por ejemplo el Battelfield 2) pues vas a tener algún que otro disgusto.
Mi consejo es que si piensas en un futuro pasarte a Windows Vista y eres de los que usan el ordenador en todo su esplendor te pilles los 4GB o bien que te pilles los 2GB de momento dejando los bancos de memoria libres para poder meter otros 2GB en un futuro, ahora ten en cuenta unas cosa bastante importante, los 1066ghz (serán mhz, seguro que te has equivocado, miralo bien) es una tasa bastante buena de transferencia, ya que la RAM no es solo espacio, sino también velocidad con la que se transfieren los datos de esta al procesador y normalmente suelen tener aproximadamente alrededor de los 666mhz (no me se la cifra exacta), 1066 es bastante más, osea que te recomiendo que te pilles los 2GB a 1024mhz o 1066mhz o lo que sea y dejes bancos libres, si te va mal, pues ya metes otros 2GB o 1GB más (ojo, de la misma velocidad)