I would think it is the motherboard, since it's happening on two different modules.
Sometimes the memory controller cant read the memory module banks correctly. Your 512MB stick has two memory banks on it, each bank consisting of 256MB. If the memory controller has a problem reading one of the memory banks, it will read it as a 256MB module, which seems to be the case here. The MCH (memory controller hub) is on the motherboard.
Seems like your board is very picky about how the modules are arranged. I would double check.. try every slot.
Make sure you have the most up to date BIOS for your motherboard.
If not, perhaps request an RMA, or see if your vendor can provide you with a better suggestion.