This is peculiar, but I agree . . . it runs only when it has to run because of some error on the drive. The use of System Restore to go back to a known good date is worth a shot in case the rror is in the registry. If it is on the HDD, that won't help.
My systems are the opposite . . . I have to specifically request ChkDsk to run or it never does . . . not even when I pull the plug, hit reset or do any sort of improper shutdown.