You won't find a better inexpensive solution than NTBackup. It's based on the same basic engine as the expensive Backup Exec and it installs with XP Pro. If you have XP Home just copy NTBackup.exe from a Pro machine to the \System32 folder. Do "file based backup" to an external drive. For a full system backup, select C: and System State. Easy as pie. Real easy if you use a VB script to launch it, or create a scheduled task. To restore after formatting, install Windows from your original CD then restore the latest backup file created with NTBackup.
I currently backup 2 domain controllers, an Exchange server, a Terminal Server, and 25 workstations with a VBScript that launches NTBackup. I have had to restore several workstations, a domain controller, and the entire Exchange server with no problems. Believe me, NTBackup is the way to go.