First, I should note that the true power of Linux lies in its repositories - the special Internet servers containing gigabytes and gigabytes of software and system updates. Of course you need a good connection (and, preferrably, an "unlimited" tariff).
Ideally, the repo for any given distro contains all the soft you may ever need, coupled with the installation mechanism that automatically resolves any conflicts between software, libraries etc. There are very few programs you ever have to install outside of this scheme. There are even repos out there with the nvidia propietary driver, for instance.
You can, with relative ease, attach additional repos you get to know from Internet. For example, to install the codecs and other stuff prevented from the distro by the US patent law (a sore spot of my favorite Fedora) all you need is to have some European repository added to the list - unaffected by the said law and thus having all the good stuff - and then run a system update.
The modern repos do even include OpenArena (a free clone of Quake III)
The safest way to have a dual boot is to create a special FAT32 partition on the hard drive to share the data between the systems. It's the easiest non-native filesystem for the both of them. Surely, modern Linuxes can easily read and write the NTFS partitions and there are drivers out there which allow WinXP to read and writh the Linux native ext3 partitions. But if something goes wrong you find yourself in a deep... trouble. For example, each time WinXP crashed on me, the Linux partition became trashed and Linux had to spend two damn hours repairing it at the next boot, and some files were still left damaged.
Don't forget also that while Windows uses a "sawp-file" to go beyond the RAM capabilities, Linux needs a swap *partition* (i.e. a separate logical disk) for the same task. Surely, you can mount files (such as ISO cd images) as partitions, bud does that woth the trouble? I didn't yet figured this part.
Also, the modern Linux distros with all gooddies and applications installed take around 10 Gbytes, with more than 300.000 files - it's a good idea to allocate a separate 10-15Gb disk partition for / , reserve a few Gbytes for swap and use the rest of your disk space for /home
Does anyone else have any recommendations for Windows emulation / running Windows programs on Linux?
I can only say for Wine, because I didn't use anything else. The last version, 0.9.46, is said to have special upgrades for better support of Adobe Creative Suite 2. Other than that, it does have serious problems with programs that use DirectDraw and Direct3d to draw a part of their interface (usually resulting in a completely black window with invisible controls) and a ton of problems with Russian language support.
Morrowind runs under the pure Wine with nasty bugs and crashes soon, that I could say. But Wine isn't the only solution, and Wine itself could also be improved by injecting DLLs copied from the real WinXP (again, I have never tried that)
I recently bought a new Notebook with Vista preinstalled. It then took all of an hour for the first system crash to occur.
Sadly, I had the same experience with Mandrivia 2007 Free when I tried it. So there *are* distros out there that can out-bug any Windows.
I can also add that Gnome feels too restricting for a power user like me, so if you need more control - choose KDE. I must add here that Kubuntu (the Ubuntu with KDE instead of Gnome) had some bugs not ironed out when I tried it this year, it left me banging my headd at the keyboard. Plus, Ubuntu doesn't have the "root" user by default which, while foolproof, is very inconvenient.