Further research into the SQL installer logs revealed that it was, in fact, MSXML 6 Service Pack 2 that was failing to install. I tried installing from KB954459, but the setup continued to throw me an "interrupted" error.
After googling around, I found multiple people talking about the "Windows Install Cleanup Utility".
(A few of the salient articles are linked below.)
- Aaron Bertrand: The XP SP3 / MSXML6 SP2 / SQL Server debacle
- MSXML 6 SERVICE PACK 2 (KB954459) SETUP INTERRUPTED
The trick was, I didn't need to install MSXML 6 anymore, I could just go ahead with the SQL 2005 Express installer, and then it worked without any trouble. Apparently the SQL installer carries its own version of the MSXML 6 Core Services package which doesn't include whatever incompatabilities exist between MSXML 6 SP2 and Windows XP SP3.
Note to self, Aaron Bertrand is totally right about the finger-pointing. Microsoft should have gotten their shit together about this when it was first brought to light on more than a few computers. Dicks.