Load old cart order in commerce
After much playing and breaking I wrote some code in a custom module to save the current order to load to the users profile in a un-editable field 

    function create_new_quote_menu() {
  $items = array();
  $items['create_new_quote'] = array(
    'title' =&gt; 'Start New Quote',
    'type' =&gt; MENU_NORMAL_ITEM,
    'page callback' =&gt; 'custom_callback',
    'access arguments' =&gt; array('access content'),
  );
  $items['quotes/%/Load'] = array(   // assuming you want to make this dynamic
    'title' =&gt; 'Quotes',
    'page callback' =&gt; 'create_new_quote_LoadQuote',
    'page arguments' =&gt; array(1),   // references %, i'm assuming this is all dynamic
    'access arguments' =&gt; array('access content'),  // don't do this, whatever permission you want goes here
    'type' =&gt; MENU_CALLBACK
  );
  return $items;
}

function custom_callback () {
  global $user;
  $currentOID;
  $user_full = user_load($user-&gt;uid);
  $currentOID = commerce_cart_order_new($user-&gt;uid);

  $updateUserParams = (array) $user_full;
    $updateUserParams['field_currentcartorder'][LANGUAGE_NONE][0]['value'] = intval($currentOID-&gt;order_id);

    unset($fullUser-&gt;pass);
    unset($updateUserParams['pass']);

    user_save($user_full, $updateUserParams);
drupal_set_message(t('You have Created a New Quote #'). $currentOID-&gt;order_id,'status');
drupal_goto('moulding');
}

function create_new_quote_LoadQuote($quote_to_load) {
  global $user;
  $user_full = user_load($user-&gt;uid);

  $updateUserParams = (array) $user_full;
    $updateUserParams['field_currentcartorder'][LANGUAGE_NONE][0]['value'] = intval($quote_to_load);

    unset($fullUser-&gt;pass);
    unset($updateUserParams['pass']);

user_save($user_full, $updateUserParams);
drupal_set_message(t('You Loaded Quote #'). $quote_to_load,'status');
drupal_goto('quotes');
}


function create_new_quote_commerce_cart_order_id($uid) {
  global $user;
  $user_full = user_load($user-&gt;uid);
  $orderidentifier = $user_full-&gt;field_currentcartorder['und'][0]['value'];
  $orderidentifier = intval($orderidentifier);
  return $orderidentifier;
}


excuse my uncommented code and poor module name but I got it working this this code set so I can now create and change orders from my view by pasing Quotes/[orderid]/Load via a link