Olá,
1. Praticamente qualquer sistema desenvolvido para Win98 roda no XP normalmente, acontece que em alguns casos, quando se usa componentes (DLLs ou OCX) de terceiros, nem sempre eles são executados sobre a planaforma NT, base do WinXP. Por exemplo, o Crystal Reports usa uma DLL chamada ATL.dll para exportações; acontece que existe uma versão dela para rodar no XP/2000/NT4 e outra para Win9x, por isso, primieor verifique as dependências externos do seu porgrama e faça os ajustes;
2. O FrameWork é um ambiente integrado de desenvolvimento que, além de servir de interface gráfica pars se programar, também gerencia todos os aplicativos .NET, inclusive gerenciamento de memória, acesso a hardware, conexões,etc. um detalhe importante, não existe mais um executável padrão (native code) quando compilamos um programa, mas sim um pseudoexecutável que na realidade é um script de execução para o framework que possui um compilador just-in-time embutido. Ou seja, para se ter um programa NET instalado, deve-se ter também o FrameWork que pesa singelos 20MB em disco. Você não precisa do FrameWork e muito menos do VB.NT para criar aplicativos para WinXP, mas se utilizar o VB.NET, deverá instalar o FrameWork no cliente também (não se trata de instalar o VB.NET no cliente, mas apenas o FrameWork);
3. Sim, alguns programas de dispositivos (não drivers) já estão sendo criados em .NET e por isso usam o FrameWork, mas veja que isso não é padrão, pelo menos não ainda;
4. Não, o .NET não pode ser executado em nenhum Windows 9x (95, 98 ou ME), apenas em WinNT4 com SP5, Win2000 ou XP (home ou Pro);
5. Você pode ter o Win98 e o WinXP na mesma máquina, mas em partições diferentes. Eu recomendo particionar o seu HD e 3: uma partição FAT32 para o Win98, uma partição NTFS para o XP e outra partição FAT32 para os arquivos de desenvolvimento, de forma que ele possa ser acessado a partir do Win98 (ele não acessa NTFS). Além disso, o VB6 pode conviver com o VB.NET no mesmo ambiente, ou seja, no WinXP você pode ter os dois instalados sem problemas, eles não substituem DLLs nem OCX;
6. Conforme expliquei acima, é possível ter os dois ambientes de desenvolvimento na mesma máquina sem problemas, mas quando queiser usar o Win98, apenas o VB6 será acessível.
Um detalhe: apesar de o VB.NET não ser executado sob o Win98, ele pode gerar programas para serem executados dentro do Win98, mas apenas compilados. Para isso ele usa uma camada de compatibilidade com o VB6.
Um abraço,
Sandro.