I was seeing duplicate RPM entries for almost all the installed RPMs on my new x86_64 server running CentOS 5.3
After a bit of reading I found out that it is due to the i386 and x86_64 libraries being installed on my 64-bit machine.
A little more reading later and I found the solution, which is simply to specify a different query format for RPM
vi /etc/rpm/macros
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}