Ok think I'm getting somewhere. In my case, I wanted to move the 'email successfully sent' message that belongs to 'tell a friend'. The only way to do this was to edit the 'header_php.php' file in includes > modules > pages > tell_a_friend.
I changed line 122 from
$messageStack->add_session('header', sprintf(TEXT_EMAIL_SUCCESSFUL_SENT, $product_info->fields['products_name'], zen_output_string_protected($to_name)), 'success');
to
$messageStack->add_session('product_info', sprintf(TEXT_EMAIL_SUCCESSFUL_SENT, $product_info->fields['products_name'], zen_output_string_protected($to_name)), 'success');
This seems to tell the message to appear in the space designated for it in the product info template, rather than in the common header template. Smacks of a bit of a hack though and presumably you'd have to identify every occasion where the message is set to appear in the header and change it? I don't ever want it at the top of the page as I have absolutely positioned stuff up there and it will mess up my layout.