If CPU-Z says you have 512 but windows XP says you have 256. CPU Z IS WRONG!!!!!
CPU-Z goes by the electronic signature on the RAM, and the RAM is telling CPU-Z that it is a 512mb stick, even though 256 is only being allocated for use.
If you want to find out how much RAM you have try this.......CTRL+ALT+DEL > Performance
If you have 512 it should say 523756 in the total amount( or close to that)