what about trying the patch from runonce as it could just be that a reboot is needed to finish off the main directx 9 install that was started from svcpack.inf before the update will install correctly ? if that makes sense
DirectX90-KB839643-x86 is the update for directx 9.x only , WindowsXP-KB839643-x86 is the update for directx 8 which is included in an xp default install
something you should consider adding to the unattended cd is qchain, as you might get file version problems with the method of installing hotfixes that is used in this guide.