I think I've got this sorted but would like to share to see if I'm missing something.

Before I do I'll point out that this is being used on a very simple site, with no products that have attributes, that may change the way it all works?!


In modules/ your template/product_listing.php

Around Line 145 I changed the form action form
action=add_product&products_id
to
action=add_product_list&products_id


Then I placed a new init_cart_handlers.php, in the init_includes/overrides folder with the following code.

HTML Code:
if ($session_started == false) {
    zen_redirect(zen_href_link(FILENAME_COOKIE_USAGE));
  }
  if (DISPLAY_CART == 'true') {
    $goto =  FILENAME_SHOPPING_CART;
    $parameters = array('action', 'cPath', 'products_id', 'pid', 'main_page');
  } else {
    
    if ($_GET['action'] == 'buy_now') {
		$goto = $_GET['main_page'];
      $parameters = array('action', 'products_id');
    } else  if ($_GET['action'] == 'add_product_list'){
	  $goto = $_GET['main_page'];
      $parameters = array('action', 'products_id');
    }
	else {
	  $goto = $_GET['main_page'];
      $parameters = array('action', 'pid', 'main_page');
    }
  }
It seems to work for me be interested to know if it sort this issue for anyone else