If you want to have dual channel memory (128bits) then it's better to have 2x512MB because the memory controller will move double the peak amount of data it normally moves with single channel memory.
Then again, 1x1024MB is better for future re-usability as your system will still have an empty slot remaining.
It's up to you. I think there's a trade-off in both cases.
This is taken from Kipper's FAQ found here
First off, nowadays most gamers require dual channel memory. Two sticks of 256mb is not enough, two sticks of 1gb is overkill (and its timings are bad). Therefore, dual channel with two sticks of 512mb is the best (for price and performance).
Eventhough it was submitted 6 to 7 months ago, I still agree with that.