nazeazeno, tentando dar uma força...
Vejamos se entendi: a máquina tinha
apenas um HD de 320GB onde o Ubuntu estava instalado. Se isso é correto, esse HD era identificado como sda antes de você acrescentar o HD de 40GB. Quando você acrescentou o HD de 40GB ele, ele passou a ser identificado incorretamente como sda (o HD de 320GB, que antes era sda passou a ser sdb). O fdisk -l mostrou isso.
Parece que é aí que está a encrenca. A linha set root='(hd0,msdos5)' do arquivo /boot/grub/grub.cfg no atual HD sdb (o de 320GB) aponta para um boot do Linux que não mais existe em sda (que agora passou a ser o hd0). Esse boot (a linha linux boot/vmlinuz-2.6.35-28-generic blá, blá, blá... do arquivo grub.cfg) está em sdb (que agora é o hd1).
Verifique isso: pelo LiveCD abra o arquivo /boot/grub/grub.cfg (que deve estar no HD de 320GB) e dê uma olhada na linha set root='(hd0,msdos5)'.
Outra coisa: o HD de 40GB agora é o "master" mas se ele fosse "slave" toda a configuração de boot anterior, em tese, teria sido preservada.
Minha sugestão é que você desconecte, por enquanto, o HD de 40GB e recupere o grub através de um dos procedimentos do link acima. A seguir, configure o HD de 40GB como "slave", conecte-o ao segundo canal IDE e/ou SATA) e reinicie o Linux. Isso deve fazer com que ele seja detectado como sdb. Finalmente, instale o Windows. Possivelmente, será necessário recuperar outra vez o grub (já que o Windows provavelmente detonará o mbr do sda). Em seguida, atualize o grub e verifique se a entrada correspondente ao Windows foi incluida.
Veja, é só uma hipótese baseada nas informações que você passou, mas espero que ajude
Abs.