No, the shopping cart will only need to be recreated if you add new column that you wish to display in the cart.
The unique checkbox is used to mark columns that will cause an item added to the cart to be treated as a new line item. For example, if you add item one to the cart in Size small, then add it again in size larger, you would want to show 2 line items in the cart. If you don't set the size column to unique, it will show only one line item. Setting the Size to Unique tells the cart to treat the ID / Size combination as unique line items.
to apply fees to some items only, you need to crate a new column in the cart to mark those items. then create a charge using the Items With A specific column value calculation.
for the paypal fee, the billing ountry is stored in a session variable named eCartCheckoutForm_country
create 2 charges for the paypal fees, one using the trigger:
If Session variable eCartCheckoutForm_country exists:
AND Based on session Variable Value "eCartCheckoutForm_country" "!=" "US"
the other using the trigger:
If Session variable eCartCheckoutForm_country exists:
AND Based on session Variable Value "eCartCheckoutForm_country" "=" "US"
For the calculation, use:
Multiple of column subtotal
SubTotal for Column "Total Price" times "0.029" "plus" "0.30"
or for the none US charge:
Multiple of column subtotal
SubTotal for Column "Total Price" times "0.039" "plus" "0.30"