Your alpha_sorter has:
Code:
    switch($filterid)
    {
            case 1:
                $alpha_sort = " order by pd.products_viewed";
                break;
            case 2:
                $alpha_sort = " order by p.products_price";
                break;
            case 3:
                $alpha_sort = " order by p.products_price DESC";
                break;
            case 4:
                $alpha_sort = " order by pd.products_name";
                break;
            case 5:
                $alpha_sort = " order by m.manufacturers_name";
                break;
            case 6:
                $alpha_sort = " order by p.products_date_added";
                break;
            case 7:
                $alpha_sort = " order by p.products_date_added DESC";
                break;
    }
The original has:
Code:
  if (isset($_GET['alpha_filter_id']) && (int)$_GET['alpha_filter_id'] > 0) {
    $alpha_sort = " and pd.products_name LIKE '" . chr((int)$_GET['alpha_filter_id']) . "%' ";
  } else {
    $alpha_sort = '';
  }
Notice it does NOT contain the order by in it ... as it really doesn't have anything to do with the order by on the original file ...

If you look at the original file for the:
order by

you will see where that is built and from what ...

If you comment out the original order by code that might help ...

I don't have the time right now to re-write all the code, but hope this gives you a clue ...