I think I got it.
Its still not updating the insurance total when adding products or quantity changes but it updates the order total correctly.
//this is supposed to catch the oddball components that don't show up in $order_totals
$new_order_totals[] = array(
'title' => $ot_title,
'text' => $currencies->format($ot_value, true, $order->info['currency'], $order->info['currency_value']),
'value' => $ot_value,
'code' => $ot_class,
'sort_order' => $j);
//$current_ot_totals_array[] = $order_totals[$i]['code'];
//$current_ot_titles_array[] = $order_totals[$i]['title'];
$order->info['total'] += $ot_value; // added in
$written_ot_totals_array[] = $ot_class;
$written_ot_titles_array[] = $ot_title;
$j++;
} //end 7
I added the "// added in" to indicate where I added the code to get it to calculate correctly.