You are right there is no direct flight from MXP to CLT, only from FCO or via LHR. However CLT seems to be offered right now at a fraction of the price of JFK or MIA (on the way out). Going back to Europe instead I can basically choose whatever airport at the same price.
Also, the reason why I'm not considering ORD is because a domestic flight from either MIA,CLT or JFK to LAX would be >2000 miles, and net me way more tier points on BA. Same reason why I tend not to consider LHR-LAX direct