If what is being reported by lshw is 4GB then perhaps your system is seeing 4GB and only reporting a smaller amount from the other utilities.
What really matters is - from which kernel do you get the best performance
This is hard to measure, it depends on the apps that you use.
I have 4GB, pae reports 4GB but I use the bfs kernel because it suits my usage.
YMMV
An answer to the difference would be nice but as you say, only an annoyance
good luck, let me know if you resolve it.