Mas alem de formatar e instalar o Win novamente, vc tem q compilar o seu software na mesma versao do Windows...
Vou explicar:
qdo vc compila um software no Win98, ele roda normal em qq windows...
qdo vc compila no win2k, ele roda normal no 2k e nos mais novos (XP, 2003, Vista)...
qdo vc compila no XP ou no Vista, ele vai rodar somente neles...
Isso nao deveria acontecer, mas acontece... existe um jargao na computação que dá nome a isso: DLL HELL (inferno das Dlls)... Acostume-se com ele...
Via de regra, sempre compila o seu software na mesma versao do windows que vai rodar... se nao puder fazer mais de uma compilação, compila na versao mais ANTIGA dentre todas as que vai rodar seu software (VB6.0 nao compila no Win95!!!)...
Tome cuidado na instalação tambem... tente instalar o minimo possivel de Dlls no micro cliente usando seu setup... prefira usar setups de cada componente...
por exemplo: no site da microsoft vc pode baixar instaladores para o ADO, o JET, o COMCTL, o FlegGrid, o MAPI, e muitos outros componentes para vc nao precisar instalar eles no seu setup...
prefira tambem sempre instalar o Office ao inves de exportar os arquivos Word.olb e Excel.olb...
use tambem o msvm60sp6.exe para instalar o run-time do VB, no lugar de exportar as dlls de run-time...
na pratica, instale no cliente somente akilo que vc tem certeza de como se instala sem danificar o windows...
possivelmente seu problema esta em alguma dll que, qdo vc compilou no XP e instalou a dll no win98, deu pau nela... se vc reinstala o win98 e tenta rodar o prog, vai dar pau pq falta a dll... se vc instala ela novamente, da pau nela pq ela nao roda no win98... e assim vc fica sem saida...
Bem.. isso deu quase um livro...
faz tempo q to tentando escrever alguns artigos sobre esse assunto, de instalações, mas to meio sem tempo... qdo terminar coloco aki e em mais alguns sites por ai...