It may have been dirty contacts on the slot 0 bank (either on the card or the slot itself). Swapping the memory back or around (e.g. putting slot 1 memory into slot 0) may back this up.
If you can get all slots / memory working, you should be able to buy a further 256Mb (try click here if you haven't already).
If one of the slots doesn't work, you'll need to buy 2 x 256Mb to get 512Mb and use the working slots.
If one of the memory banks is duff, you could buy 1 x 128Mb and 1 x 256Mb. But it depends on what's available in the market and prices. You could get 2 x 256MB anyhow and goto 640Mb.