www.domain.com doesn't work, but domain.com works fine (or vice versa)
This is almost always a propagation issue which will resolve itself in a matter of hours.
The assumption is that most people acccess their domains with www.domain.com vs domain.com (without the www).
This means that your ISP's nameservers will have the www.domain.com in it's cache.
When you make a change to your dns (move the domain to a different server, or change an IP) all dns values will need to be updated to the new value.
When you try to view www.domain.com again, you get your ISP's cached value which will stay in the cache for several hours, so users will recieve the old IP which will end up showing some errors (or the apache welcome page, or the "this ip is shared among many domains" page).
The next common reaction is to check the domain with just "domain.com" (no www). Because the value hasn't been used yet, it will not be in the ISP's cache. The result is that the ISP will fetch the NEW/correct ip for the domain, thus "domain.com" will work fine, but "www.domain.com" will not.
The solution is to wait to 4 hours for the cache to expire at your ISP, at which time the new IP will be fetched.
The pre-emptive solution is to lower your TTL (in the 'named.db' template or the zone) to a value of several minutes instead of 4 hours, about a day before you make any IP changes to a domain.