For those running 1.5.x, the following code worked a treat for me in bold below for the text message as well as HTML message. It puts the manufacturer first, followed by a hyphen, then the product name as per normal. This is done in the /httpdocs/includes/classes/order.php file around line 900:
// build output for email notification
$this->products_ordered .= $this->products[$i]['qty'] . ' x ' **. zen_get_products_manufacturers_name($this->products[$i]['id']) . '-' . ** $this->products[$i]['name'] . ($this->products[$i]['model'] != '' ? ' (' . $this->products[$i]['model'] . ') ' : '') . ' = ' .
$currencies->display_price($this->products[$i]['final_price'], $this->products[$i]['tax'], $this->products[$i]['qty']) .
($this->products[$i]['onetime_charges'] !=0 ? "\n" . TEXT_ONETIME_CHARGES_EMAIL . $currencies->display_price($this->products[$i]['onetime_charges'], $this->products[$i]['tax'], 1) : '') .
$this->products_ordered_attributes . "\n";
$this->products_ordered_html .=
'<tr>' . "\n" .
'<td class="product-details" align="right" valign="top" width="30">' . $this->products[$i]['qty'] . ' x</td>' . "\n" .
'<td class="product-details" valign="top">' **. zen_get_products_manufacturers_name($this->products[$i]['id']) . ' - ' .** nl2br($this->products[$i]['name']) . ($this->products[$i]['model'] != '' ? ' (' . nl2br($this->products[$i]['model']) . ') ' : '') . "\n" .
'<nobr>' .
'<small><em> '. nl2br($this->products_ordered_attributes) .'</em></small>' .
'</nobr>' .
'</td>' . "\n" .
'<td class="product-details-num" valign="top" align="right">' .
$currencies->display_price($this->products[$i]['final_price'], $this->products[$i]['tax'], $this->products[$i]['qty']) .
($this->products[$i]['onetime_charges'] !=0 ?
'</td></tr>' . "\n" . '<tr><td class="product-details">' . nl2br(TEXT_ONETIME_CHARGES_EMAIL) . '</td>' . "\n" .
'<td>' . $currencies->display_price($this->products[$i]['onetime_charges'], $this->products[$i]['tax'], 1) : '') .
'</td></tr>' . "\n";