HTML escapes appearing in node titles on bespoke content type — substitutions?
Whilst Jon's suggestion of htmlspecialchars_decode got me part of the way there, it turns out that the sample code from Custom HTML in Drupal Node Titles was less helpful.

Whereas that blog post suggested I do something like:

function modulename_preprocess_page(&amp;$vars, $hook) {  
    $node = &amp;$vars['node'];  
    if($node-&gt;type == 'my_content_type') {  
            $vars['title'] = htmlspecialchars_decode($vars['title']);  
            $vars['head_title'] = $vars['title'];  
    }  
}


I actually needed to do this:

function modulename_preprocess_page(&amp;$vars, $hook) {
    $node = &amp;$vars['node'];

    if ($node-&gt;type == 'my_content_type') {
        drupal_set_title(htmlspecialchars_decode(drupal_get_title()), PASS_THROUGH);
    }
}


Problem solved!