Olá Bruno,
Às vezes acontece de você estar com vários arquivos ojdbc.jar na máquina e em runtime a JVM pegar uma versão diferente. Mas acredito não ser esse o seu caso.
De qualquer forma a definição de quando começa o horário de verão no Brazil ainda é uma decisão política. Então não há como tratar isso genericamente, pelo menos acho que não.
Acredito que a data no banco de dados esteja gravada com minutos. Mesmo que você esteja recuperando apenas o dia, mês e ano, tem informação de minuto lá.
Vou dar uma sugestão meio “toska”. Aí fica seu critério de testar aí no seu ambiente. Se for ambiente de produção então precisa ser testado.
Como a data que você tá falando se refere realmente ao dia de virada do horário de verão, executa um update para mudar todos os registros para a data 19/10/2009 onde a data for 18/10/2009 e a hora for maior que 23:00 H. Não sei se sua aplicação permite que você faça isso, mas pelo menos resolve o problema.
Outra alternativa e você usar as classes java para tratar isso. Acredito que Calendar e Locale pode te ajudar.
T+
Geraldo.