Eu entendi!
Após alguns testes e pesquisas, descobri o local no registro em que msconfig armazena o valor inicial ativado anterior, bem como a data desativada.
HKLM\Software\Microsoft\Shared Tools\MSConfig\services
Ele consiste em sub chaves para cada serviço desabilitado e cada subchave tem os seguintes valores: YEAR , MONTH , DAY , HOUR , MINUTE , SECOND , além do nome abreviado do serviço desativado, cujos dados contêm um dos seguintes itens:
-
0= boot -
1= system -
2= auto -
3= demanda -
5= delayed-auto
Tudo o que tenho que fazer é ler e escrever aqui quando ativar e desativar serviços.
FYI: 4 = desativado. É por isso que não está na lista acima. Apenas as chaves que estão atualmente desativadas são listadas nesse local. E eu não acho que o XP tenha 5 .