The payment fees are indeed not added if the user changes payment method on his orders listing.
You need to add the code
$paymentClass = hikashop_get('class.payment');
$payment = $paymentClass->get($payment_id);
if(!empty($payment->payment_params)&&is_string($payment->payment_params)){
$payment->payment_params=unserialize($payment->payment_params);
}
$full_price_without_payment = $order->order_full_price-$order->order_payment_price;
$new_payment_price = ($full_price_without_payment * (float)@$payment->payment_params->payment_percentage / 100) + @$payment->payment_price;
$updateOrder->order_payment_price = $new_payment_price;
$updateOrder->order_full_price = $full_price_without_payment+$new_payment_price;
before the code
$updateOrder->order_payment_method = $payment_method;
in the file components/com_hikashop/controllers/order.php in order to handle that.