If you are having problems trying to figure out why the Windows Installer thinks that SQL Express 2005 is already installed, it's because SqlExpressChk.exe thinks it is installed. The InstallChecks out of the product.xml manifest uses that program to check if SQL Server 2005 Express is installed. Only the catch is - it doesn't really check! It only seems to look for the program directory.
Just delete the %PROGRAMFILES%\Microsoft SQL Server\90 subdirectory (please make sure you really don't have SQL Server installed - otherwise your deleting your installation...) and voilá SQL Server Express will now install.
I guess that I will need to write a utility to check if SQL Server Express REALLY is installed!
If you are getting error 29513 or some other error related to sqlmgmprovider be sure to see KB 926623. Also, I had a problem on a test machine which resulted in the same error message, but was due to a configuration problem with WMI. Make sure that WMI is working properly and take a look at the logs in system32\wbem\logs. By the way, WMI wasn't working on the Machine due to problems with DCOM security - since WMI depends on DCOM.