AFAIK, most 32-bit proc motherboards can handle up to 4 gigs.
With that being said however, having 640MB ram is not necessarily better than 512.
The explanation is basically:
If the computer stores all it's data on one chip it will be faster to find it. It would probably be better for you to only gave the 512 chip, especially in this case since 512 is so much bigger than 128.
Some computers support dual channel ram, in which the ram must be entered in sets (ie, 2x128, 2x256, etc). I doubt this is what you have (as it came out a little later), but just a heads up anyway.
Also another thing you have to consider besides CAS latency (what Quantum was talking about) are bus speeds and voltages.
If you have a more advanced BIOS you can change some of these things. You should try upping the voltage on the chip that isn't being detected. Also, make sure the chips bus speeds match (PC100=100Mhz, PC133=133Mhz, or if it's DDR PC3200=2x200Mhz, etc)
RAM is a very confusing thing and was the key problem when I was first making this computer a few years ago. One thing I learned is that too many sticks (I had 6x256MB) causes a lot of problems. I had to reduce it down to 4x256MB.