Thanks, Adrian. The new notifications system will be interesting, but in the meantime I took a break, then found what I was looking for in Notices.php.
The answer is:
$this->message("This message contains <a href=''>a link</a>", Notice::allowMarkup);
The code from Notices.php couldn't be clearer:
/**
* Flag indicates the notice is allowed to contain markup and won't be automatically entity encoded
*
* Note: entity encoding is done by the admin theme at output time.
*
*/
const allowMarkup = 32;
/**
* Create the Notice
*
* @param string $text
* @param int $flags
*
*/
public function __construct($text, $flags = 0) {
$this->set('text', $text);
$this->set('class', '');
$this->set('timestamp', time());
$this->set('flags', $flags);
}