it should be able to retain the programs and settings, assuming the current programs are XP-compatible. You may want to visit the XP page, they have a compatibility checker there I think. If they are newer apps, almost guaranteed to transfer without problems.
it will also be a good idea to clean up the system as much as possible prior to the upgrade (delete temp files, internet files, old installer files, basically any unused data, remove any un-needed programs) then do a chkdsk to verify there are no file system errors, do a quick check for adware/spyware, then defrag. It gives the upgrade a better chance of running smoothly if the system is "clean" prior to the upgrade.
lastly, i know you dont want to do a fresh install, but it really is a better idea to do that instead of upgrade. just IMO.