Slight amendment, to avoid more category loops:
Code:
<table>
{section name=cat_num loop=$product_links}
{assign var='i' value=$u_product_info[cat_num].categoryid}
{if $i ne $n}
{foreach from=$categories_menu_list item=c name=categories}
{if $c.categoryid eq $i}
<tr>
<th colspan="3">{$c.category}</th>
</tr>
{assign var='n' value=$c.categoryid}
{/if}
{/foreach}
{/if}
<tr>
-----UPSELLING PRODUCTS-----
</tr>
{/section}
</table>