Updated customer/products.php should do the trick. Note, I'd keep the above products_t.tpl also. Make sure in Admin->General Settings->Appearance Options that you have a value greater than one for products per row.

Be sure and backup customer/products.php before copying the below code over.
hth.
Code:
<?
/*****************************************************************************\
+-----------------------------------------------------------------------------+
| X-Cart |
| Copyright (c) 2001-2003 Ruslan R. Fazliev <rrf@rrf.ru> |
| All rights reserved. |
+-----------------------------------------------------------------------------+
| PLEASE READ THE FULL TEXT OF SOFTWARE LICENSE AGREEMENT IN THE "COPYRIGHT" |
| FILE PROVIDED WITH THIS DISTRIBUTION. THE AGREEMENT TEXT IS ALSO AVAILABLE |
| AT THE FOLLOWING URL: http://www.x-cart.com/license.php |
| |
| THIS AGREEMENT EXPRESSES THE TERMS AND CONDITIONS ON WHICH YOU MAY USE |
| THIS SOFTWARE PROGRAM AND ASSOCIATED DOCUMENTATION THAT RUSLAN R. |
| FAZLIEV (hereinafter referred to as "THE AUTHOR") IS FURNISHING OR MAKING |
| AVAILABLE TO YOU WITH THIS AGREEMENT (COLLECTIVELY, THE "SOFTWARE"). |
| PLEASE REVIEW THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT |
| CAREFULLY BEFORE INSTALLING OR USING THE SOFTWARE. BY INSTALLING, |
| COPYING OR OTHERWISE USING THE SOFTWARE, YOU AND YOUR COMPANY |
| (COLLECTIVELY, "YOU") ARE ACCEPTING AND AGREEING TO THE TERMS OF THIS |
| LICENSE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY THIS |
| AGREEMENT, DO NOT INSTALL OR USE THE SOFTWARE. VARIOUS COPYRIGHTS AND |
| OTHER INTELLECTUAL PROPERTY RIGHTS PROTECT THE SOFTWARE. THIS |
| AGREEMENT IS A LICENSE AGREEMENT THAT GIVES YOU LIMITED RIGHTS TO USE |
| THE SOFTWARE AND NOT AN AGREEMENT FOR SALE OR FOR TRANSFER OF TITLE.|
| THE AUTHOR RETAINS ALL RIGHTS NOT EXPRESSLY GRANTED BY THIS AGREEMENT. |
| |
| The Initial Developer of the Original Code is Ruslan R. Fazliev |
| Portions created by Ruslan R. Fazliev are Copyright (C) 2001-2003 |
| Ruslan R. Fazliev. All Rights Reserved. |
+-----------------------------------------------------------------------------+
\*****************************************************************************/
#
# $Id: products.php,v 1.31.2.2 2003/06/11 13:55:19 svowl Exp $
#
# Navigation code
#
$objects_per_page = $config["Appearance"]["products_per_page"];
if ($config["General"]["disable_outofstock_products"] == "Y") {
$current_category["product_count"] = array_pop(func_query_first("SELECT COUNT(*) FROM $sql_tbl[products] WHERE forsale='Y' AND avail>'0' AND (categoryid='$cat' OR categoryid1='$cat' OR categoryid2='$cat' OR categoryid3='$cat')"));
if (is_array($subcategories)) {
foreach($subcategories as $k=>$v)
$subcategories[$k]["product_count"] = array_pop(func_query_first("SELECT COUNT(*) FROM $sql_tbl[products] WHERE forsale='Y' AND avail>'0' AND (categoryid='$v[categoryid]' OR categoryid1='$v[categoryid]' OR categoryid2='$v[categoryid]' OR categoryid3='$v[categoryid]')"));
$smarty->assign("subcategories",$subcategories);
}
}
$total_nav_pages = ceil($current_category["product_count"]/$objects_per_page)+1;
require "../include/navigation.php";
if($active_modules["Advanced_Statistics"])
include "../modules/Advanced_Statistics/cat_viewed.php";
#
# Get products data for current category and store it into $products array
#
$search_query = "($sql_tbl[products].categoryid='$cat' or $sql_tbl[products].categoryid1='$cat' or $sql_tbl[products].categoryid2='$cat' or $sql_tbl[products].categoryid3='$cat') and $sql_tbl[products].forsale='Y'";
$products = func_search_products($search_query, $user_account['membership'], $first_page,$current_category["product_count"]);
if (count($products) ==0) $products="";
if($active_modules["Subscriptions"]) {
include "../modules/Subscriptions/subscription.php";
}
$smarty->assign("products",$products);
$smarty->assign("navigation_script","home.php?cat=$cat");
?>