A MS está trabalhando na compatibilidade das runtimes do VB6 no Windows Vista, portanto vai haver suporte. Isso não quer dizer que você poderá usar as novas features do Vista no seu programa, já que a intenção é só fazer funcionar oq existe do VB no novo OS.
http://msdn.microsoft.com/vbrun/vistasupport.aspx
Sobre esse negocio de compilar no XP e só rodar nele e em versões posteriores está incorreto, a compilação não tem nada a ver com o sistema operacional já que é feita com base no processador. O que acontece é que tem programadores que criam pacotes de instalação com componentes que não funcionam ou até detonam o sistema operacional. Se você usa APIs por exemplo, deve estar ciente do suporte delas em cada versão do Windows. Eu costumo usar rotinas que rodam do Win98 pra cima, daí fico despreocupado com a versão do OS onde o sistema rodará, outra coisa que faço é não distribuir DLLs e OCXs que fazem partem do OS. O ideal é usar tb um gerador de setup profissional que faça verificação das versões pra evitar qualquer dano ao sistema.