It looks like someone messed up the build numbers of the SQL Server 2005 BPA between the CTP version and the recently released July version. The CTP version had a build number of 3038, while the July version has a build number of 1004. The setup program detects this, and refuses to install the newer version (which is the correct behavior due to the lower build number).
I guess that is one way to force you to uninstall the CTP before installing the July version…
March version of BPA
July version of BPA