The issue with your suggestion is the potential for a carrier change enroute. If the trip was pnly between New York (for example) and BCN, this would probably not be a problem. With travel originating in DFW, it becomes more difficult to stay with one airline or partner which could lead to baggage handling difficulties and gate/terminal changes.
For sure, no need to go through Canada.... could connect through FRA or other European cities but the cost and time to do this is not better than a direct flight to BCN from North America.