Its safe to sau you have 2gb of ram. The few mb difference in your post screen and everest are simply being lost in translation, so to speak. Most likely a little memory being reserved by the system. Also a 2gb stick of ram with chips on both sides will show as occupying two banks of 1gb each. This is due to the motherboard chipset. If you had two 2gb double sided sticks it would show as occupying 4 banks. The best way is to look in system properties. The max memory for windows 32 bit OS is 4 gb but due to physical addressing only 3.5 will be usable. Hope this clears things up.
I rather think you are using a stick of doublesided ram. All readings of 2038/2048/2.00GB are consistent. Only that last reading in everest and memtest show "slot 0" 1024MB. Which means the ram module is divided into two "banks". Those two readings just read out one of the banks instead of both. So I don't think there is anything wrong with your ram. You have not been flushed or anything. Those readings are all correct.
Thank you I was wondering why those readings were different and I was afraid there was sth wrong with the ram module, that's why I left memtest running for about 7 hours. Again thanks a lot Rgds