With the increased amount of memory in today's computers, having swap is not entirely necessary, although if you want to hibernate or put the computer to sleep you need swap, or, if you have a problem that fills up a log file too fast (which also fills up your partition) the swap file helps you recover. That's not what's causing your problem.
On a dual boot the Windows 7 install should the there before the Linux (Centos) install. No need to do a reinstall.
Since Centos is an offshoot of RedHat, and Fedora is a precursor for RedHat, if you want to try EasyBCD, it might be the easiest solution. But, you need to read about it first and decide for yourself. (I'm a fedora user, so, I'm familiar with the Centos install and setup.)
The instructions for Fedora are at this link. It should work the same for Centos (and even though the instructions are for Vista, it also works with Windows 7). I have used this method on three dual boots and it works fine. Since you have both systems already installed, it would just mean booting up into Windows, installing EasyBCD and then opening BCD and pointing it to the correct partition (the one that holds the Centos boot manager). This should be the partition that contains the /boot folder.
The link for the instructions is here: http://neosmart.net/wiki/display/EBCD/Fedora
When I install Fedora, I have a /boot partition, a / (root) partition and a /home partition. If you installed Centos to just one partition, it will be easier to find the correct one to point EasyBCD to.
Checking your install first.
If you're able to get into your Centos install, go into the file manager and confirm that grub was installed properly. Open Nautilus (File Manager) and then click on File System on the left hand side, where you see Desktop, File System, Network, Trash etc.. Click the folder that is named boot and make sure you see files that start with config and initramfs (hopefully they are there), then click on the grub folder and make sure you see a file called grub.conf. If all those files are there, you're probably safe assuming that grub is installed there. I believe that even if you chose to install grub as the bootloader, those files would still be there, but, we just want to make sure it's installed before moving on.
BTW - Just a note, when you say that you need the disk in the computer in order for Centos to boot. I hope your not looking at a liveCD version coming up on your screen. You not mistaking a LiveCD for the actual install, are you? Just asking, if your new to Linux, that could always be a mistake that one wouldn't notice unless you tried saving modifications and they aren't there when you boot up again. I know you did the install, so it must be there, I'm just thinking as I type here, and that came to mind.
OK, to read about EasyBCD the wiki is here: http://neosmart.net/wiki/display/EBCD/EasyBCD+Basics
If you have decided to go this route the download page is here: http://neosmart.net/download.php?id=1
You have to register to download. I've been registered for a couple of years, they don't spam you and keep your email address private.
Once you are in Windows, if you download and install EasyBCD, all you have to do is follow that part of the instructions in the first link I gave you that's titled "Adding Fedora to the Windows Vista Bootloader". It's very easy, as long as you know what partition Centos is on. If you choose the wrong partition, you just boot up into Windows again and change the partition to the correct one.
BTW - if you can get into Centos, and bring up the terminal, log in a root and type the command "fdisk -l" without the quotation marks, and post the results here, we can probably tell you what partition to point EasyBCD to.
OK, I just went into Windows 7 and found that if you go into the menu, and bring up System Information, under System Summary-->Components-->Storage-->Disks you can also get the partition information. Heh, you probably know this already, but, I haven't really used the Windows half of my dual boot in years, so, it was news to me.
OK, I see that I've wrote a whole bunch. If you have any questions, or, if you don't feel comfortable with EasyBCD and would like to wait for other responses, just let me/us know and we'll try to look at other solutions. Personally, I like leaving the Windows bootloader alone and deal with Grub within my Linux install. Others like to use Grub as the bootloader. Read through the links I gave you and post again when you're ready and we'll take it from there.