Update Webform Submission from subsequent form on confirmation page
Looks like you are you using the wrong function, rather then retrieving a single webform submission you are retrieving multiple entries.

$nid = 3389;
$webform = node_load(3389);
$sid = $form['sid']['#default_value'];
module_load_include('inc', 'webform', 'includes/webform.submissions');
$submission = webform_get_submission($nid, $sid); // note function name
$email = check_plain($form['your-email']['#value']);
$submission-&gt;data[14]['value'][0] = $email;
webform_submission_update($webform, $submission);