This is a problem with the email tokens, and something you'll have to fix in the php. %note and %message both get filled with the same variable in the 'assignStaff' function that ultimately generates that email. They're filled with a variable called 'message' but is actually the Internal Note. So.. it's not intuitive at all.
The following block is from /include/class.ticket.php, within the assignStaff function:
if(($resp=db_query($sql)) && db_num_rows($resp) && list($subj,$body)=db_fetch_row($resp)){
$body=$this->replaceTemplateVars($body);
$subj=$this->replaceTemplateVars($subj);
$body = str_replace('%note',$message,$body);
$body = str_replace("%message", $message,$body); //Previous versions used message.
$body = str_replace("%assignee", $staff->getName(),$body);
$body = str_replace("%assigner", ($thisuser)?$thisuser->getName():'System',$body);
You can see the note and message both getting '$message' which is passed into the function (it's actually the internal note). I ended up changing it around so it was more obvious, but if you want a quick fix to make your email work, just change that section to the following:
if(($resp=db_query($sql)) && db_num_rows($resp) && list($subj,$body)=db_fetch_row($resp)){
// Gets the last message from the ticket instead of the first.
$sql = 'SELECT message from '.TICKET_MESSAGE_TABLE.' WHERE ticket_id = '.$this->getId().' ORDER BY msg_id DESC';
$resp = db_query($sql);
list($realMessage) = db_fetch_row($resp);
$body=$this->replaceTemplateVars($body);
$subj=$this->replaceTemplateVars($subj);
$body = str_replace('%note',$message,$body);
$body = str_replace("%message", $realMessage,$body); //Previous versions used message.
$body = str_replace("%assignee", $staff->getName(),$body);
$body = str_replace("%assigner", ($thisuser)?$thisuser->getName():'System',$body);
And see how that works. My current version of osTicket is highly modified, so that's not a direct copy from it, and just something I tossed in real quick, but should work fine. If you want the first message, instead of the most recent, change that 'ORDER BY msg_id DESC' to 'ORDER BY msg_id ASC'. We use the last because in the case of tickets being re-assigned it often times makes more sense to have the most recent message than the first.