You are wrong, I'm afraid. Page Defrag from Sysinternals does not remove empty space inside the registry. If the registry is in pieces, it only joins into one continous area.
I look at the screenshot above and notice that CCleanear reports in left upper corner:
- on my XP Home with SP2 only MS Windows XP,
- shows 511 MB RAM except 512 MB RAM.