Funny thing about DNS it's not always easy to understand.
CNAME is a form of global alias. Now the tricky part, the webserver I assume Apache has a conical name that's the name php tells Moodle to use. In my case swan.dorset.org that's the base URL.
Next the server looks for a file in the document root called either index.html, htm, php or pl they are default files, if not present then display a directory list.
In Williams case the base URL which the webserver is saying me me me, is suddenly confronted by a almost, it now has www in front. The config.php in Moodle has the none www as root things get very confusing. Moodle/PhP try to use it but everything is pointing to the none www. Bail out time, display a blank screen or in W's care blank except for the login box and that wont work either.
The safest way is don't play with CNAME if a site moves use a redirect.