Hi,
To reply to all your questions:
I'm not sure my PC (the one I'm using right now to access the web via my Internet Provider) is a nameserver. I believe it does cache DNS entries though because I found that ipconfig /flushdns is suppose to flush my local cache. I did this but it didn't seem to have any affect. Anyways, I think I am dealing with two nameservers, one is at the other hosting company and one is in my VPS. Is that correct?
Your PC queries only nameservers configured for it, usually those are your ISP nameservers.
So if the name is cached in my PC's local DNS cache, the browser doesn't have to go any further to resolve it. Is that correct? This was my understanding when I discovered ipconfig /flushdns. I thought sure that flushing it would take care of the problem but when it didn't, I wasn't sure what was going on.
Yes that's almost correct. Not the browser has to resolve the site, but nameservers which are being used by your computer.
So in my example, the nameservers you mention here are the ones at the other hosting company right? Might my ISP have nameservers as well? If I use dnsstuff.com to get a DNS report, it still shows the old IP address. So I think the new IP address that I temporarily set is stuck in my ISPs cache. Odd how that one took affect almost immediately but when I switched it back it is taking many hours (almost 24 so far) to propagate. It still isn't resolving correctly at the time of this writting but I agree that it is caching that is causing the affects I am seeing. It just isn't what I expected.
Usually, ISPs have their own nameservers to speed up DNS resolvings for their customers. So you are correct here.
So there is something in the HTTP headers that tells my VPS how to route the request to the proper domain within my VPS. Correct?
Exactly.
Does it do this using the nameservers embedded in my VPS environment? Do I need to configure them or are the default values established when I create the domains sufficient?
HTTP and DNS protocols are independent. DNS is used to resolve names to IP addresses and vice versa. HTTP is to transfer hyper text pages from server to client.
The zone created with the domain on setup usually is enough until you need very special configuration, for example, for cases when you host email somewhere else but not on the same server.
Where my customers web site is currently hosted somewhere else and I am going to move their site to my VPS site, how can I setup their site on my VPS before I change the nameservers to point to it?
To transfer a working site, you need to create a domain for it in Plesk and upload site content (as I can see from your last post, you have done the both steps already). Then you need to check that the site works fine at the new place. Plesk has amazing site preview option that works without DNS for domain testing. If all works fine, you change domain's nameservers and get the site working form your server in 24-72 hours after DNS propagation was completed.
I hope this helps.