It has everything to do with his video card and OS. You can only suppor 3.5 GB of RAM (onboard and video) with a 32 bit operating system. So pretend for a second he has 512 mb video card, this would mean that his operating system will only recognize 3.0 GB of his RAM installed on his system:
3.5 MAX - .512 equals 3.0 max on the system board.
The RAM max is the RAM amount in the ENTIRE system, not just what is onboard. A lot of people get this confused. The OS recognizes all RAM on the system, not just what is plugged into the motherboard. So as apokalipse explained, 32 bit OS only has so many memory addresses to give out, so once it runs out of the 3.5 it will not use (even if it sees) the remaining.