Disclaimer - I am not a computer person. Most script stuff confuses me. About a year ago I switched from Windows to Ubuntu in pure frustration after one too many blue-screen of deaths. A friend of mine who actually knows about computers set it all up for me and I stood by watching with little clue what was going on. I still have little clue what is going on. I am, however, educating myself slowly. If I sound like an idiot in this thread that is probably because I am (at least in the realm of computers). So please be patient with my stupidity and trust that I really am attempting to figure out how to work this shiny box in from of me. On to the actual question...

I currently have Ubuntu (Hardy) on a Del Inspiron 6400:
Intel Core Duo T2350 (1.86GHz, 2MB L2 Cache, 533MHz FSB)
2GB Shared Dual Channel DDR2 SDRAM at 533MHZ, 2 DIMM
100GB SATA Hard Drive (7200RPM)
I love it! That said, I need access to Windows sometimes for non-Ubuntu-supported programs. I have been recommended VirtualBox, but I only have the reinstall CDs for Windows and I don't want to dish out on an new CD which appears to be what I would need to do to get Windows working in VirtualBox (please correct me if I am wrong). So now I am looking at dual booting with XP. I believe that I would have to wipe off the Ubuntu I have, reinstall Windows, partition, and then install Ubuntu in order to do this as the reinstall CDs won't like my existing Ubuntu (please correct me if I am wrong again!). This sounds rather complicated (particularly the partitioning bit) and I'm looking for someone to help out/point me to some instructions. I've googled but haven't found much and searched the archives here to the same result. You probably don't need to read the following history of my need for Windows, but if it will help you to know how best to partition the dual boot (how big each partition needs to be) or any other info then please read on.

The History - I need to be able to run Rosetta Stone and Ubuntu doesn't like it. My intention was to stick it on a USB and run it from there through WINE, since that doesn't look promising (WINE doesn't want to help me install it onto the USB instead of the hard drive) I figured I would install a small Ubuntu distro onto the USB as a live USB and then work through WINE to get Rosetta working when booted up in that. This has turned out to be more trouble than it is worth. No matter how many different instructions I try in order to get the live USB working it seems to be a flop. So my next plan is to set my comp up as a dual boot with XP and install the Rosetta Stone to USB through XP. Then I can just boot to XP to run it. The reasoning for having Rosetta on USB in the first place is portability. I've also been considering doing a dual boot for a while just so that I have the ability to run windows only programs. I also figure reinstalling my Ubuntu won't do me any harm as I think I screwed it up a bit during my first few months of fiddling. That said it works fine now so maybe I miraculously didn't destroy some of its code.

Anyway... advice?