I'm set for "when idle" generation. I get the impression that if generation is interrupted by input/output, when it restarts it has to do over again whatever file it was in the middle of. That's probably why, if there's lots of interruptions, VRDB generation can take a lot longer than if you just sit back and let it do its "thing".
Out of curiosity, on a typical XP (home) system, how big is the largest single item (file) that needs to be processed?
Oh, and another querstion just occurred to me -- does the VRDB save repair info for just system files, or also for third-party executables like utilities or games?