Duron, antes de mais nada não sou desenvolvedor do vraptor. Te passo apenas experiências que tive migrando um projeto meu.
Vraptor 2.6 não é dependencia obrigatória. Creio ser apenas para compatibilidade. Na verdade eu não usei todos os jars que são distribuídos no pacote. Apenas nos necessários.
No caso do Hibernate, creio que você possa sim usar outras versões. Normalmente versões mais novas possuem compatibilidade. O máximo que pode haver são alguns métodos depreciated não existirem mais. Uma leitura do changelog dos projetos é indicada.
No meu caso minha aplicação usa um módulo EJB standalone. Por isso não usei Spring, optei pelo Pico (por ser mais lightweight, jar menor, menos dependencias). Também não usei Hibernate (na verdade o hibernate fica no módulo EJB via JPA) , e nem mesmo usei o jar do vraptor-2.6.
Uma coisa que eu não gostei é que o vraptor sobe por padrão alguns “resources inbox”, um deles é o file-upload. Assim você precisa ter esse jar mesmo que não faça upload algum. Outro jar é o commons-vfs.
No caso do hamcrest eu já usava no meu módulo EJB, então exportei ele nas libs do domínio do container (uso glassfish).
Aproveitando já deixo uma sugestão de poder optarmos por usar, assim como é no hibernate, cglib ou javassist. Como no meu caso eu já uso javassist tenho esse jar no módulo EJB. Sei que para isso é necessário escrever as implementações para ambas, mas enfim, apenas uma sugestão.
O jar reflections não faz (quase) a mesma coisa que o mirror? São necessárias ambas?
Abraços