Você realmente espera uma resposta isenta perguntando num forum de Java?!?!?
Você está falando mesmo de VB6 ou pensa na possibilidade de .Net?
Se estiver falando em VB6, esqueça. Faça em Java. O VB6 tem sérios problemas estruturais, a começar pelo “On error resume next” e pelo fato de funções serem públicas por default. Fora que, honestamente, é uma tecnologia bastante antiga, não acha?
Agora, falando em .net, além do que o Dieval falou, eu ainda acrescentaria o seguinte:
-
Seu cliente precisa de portabilidade (vai rodar em mais SOs do que o Windows)?
Se sim, ponto para o Java. Se não, ponto para o VB.
-
Você vai integrar sua aplicação desktop com o Windows (como por exemplo, acessar o Active Directory)?
Se sim, ponto para o VB. Se não, ponto para o Java.
-
Você está disposto a não pagar por seu ambiente de desenvolvimento (como um todo, não só a linguagem)?
Se sim, ponto para o Java. Se não, ponto para o VB.
-
Você precisa de integração com o MS Office ou outros controles Active X?
Se sim, ponto para o VB. Se não, ponto para o Java.
-
Você tem medo ou se sente imaturo para decidir entre diversas frameworks? E seu cliente valoriza a figura de alguém “grande” dizendo que dá suporte a tudo (mesmo que não seja integralmente verdade?)
Se sim, ponto para o VB. Se não, ponto para o Java.
Pese bem antes de escolher e veja a proposta de cada linguagem. Hoje em dia, tudo é suficientemente poderoso, rápido e você poderá fazer praticamente qualquer coisa. Fuja de guerras ideológicas e tente tomar a decisão baseada nos requisitos do seu projeto, e no que a linguagem se propõe.