Your problem probably wasn't the hardware but the dumb operating system.
Windows Vcache determines the maximum cache size based on the amount of RAM that is present when Windows starts.
Vcache presets the memory addresses that it will be able to use.
The problem is that memory over 511meg allows Vcache to set memory addresses that are used by the system files.
So in effect the system eats itself. So if you lock up the computer and crash it enough times, well it's reload time.
You can utilize the 512meg by setting a maximum vcache size in the system.ini file.
Edit the system.ini file and scroll to the
[VCache]
add the following line
MaxFileCache=307200
The above sets a working Vcache max of 300meg. Remember a meg of ram is actually 1024.
This problem affects computers running 95 through ME.
Microsoft Knowledge Base article Q253912
Lee