Luiz,
É uma boa questão!
Creio que a função sessionInfo() sugerida é, sem dúvida, uma boa (se não a melhor) opção!
Principalmente se você armazenar uma cópia das versões dos pacotes usados em uma subpasta de sua pasta de trabalho (da tarefa) para o futuro. Creio que isto somente se justifica para scripts realmente importantes para você, pois fora isso seria inviável.
Contudo, não se esqueça que embora já bem maduro o R é uma ambiente computacional em franca evolução. As coisas mudam com o tempo... software é essencialmente um tanto efêmero e nem todos os autores de pacotes tomam os cuidados já relatados pelo Benilton.
Fora o aprendizado, talvez este seja o único preço que pagamos por usar software livre. Creio que você concorda que a relação custo/benefício é bem baixa e benéfica, não é mesmo.
A estratégia que mais uso é a seguinte:
1- Quando recebo mensagem de erro verifico o News da versão mais nova do pacote (na web via Google: cran packages nome_do_pacote), geralmente (mas nem sempre como já foi dito) os autores escreve o que de importante foi alterado nas novas versões.
2- Se concordo com a mudança, altero meu script, se não, busco outras opções.
Como atualizo meu R e os pacotes com muita frequência, os problemas geralmente são pequenos e fáceis de corrigir.
Ficar ancorado em versões antigas de software (e ai falo de qualquer software e não do R & CIA) é realmente problemático a longo prazo. A melhor opção é ir acompanhando as atualizações com mais frequência. As minhas são semanais.
Ab,
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\