@AstoriaPreppy @FTLCruiseGal I have a different opinion than both of you.
First a redress number (KTN-Known Traveler Number) would not have helped this at all as there is nowhere in your cruise profile to store this number to be used.
2nd point is the DHS check is done one of 2 ways, either Carnival sends or inputs a list of pasengers to DHS (could be electronically) and a computers system checks for matches on the banned list. Then contacts Carnival. Or
Carnival security has an "current" list of banned names that they then compare to the passenger list. And any matches get denied boarding.
Most likely the first match electronicly, is last name; first name that is then kicked out and needs to be checked further. This further check could be manually, matching other associated info, middle initial; birth date; etc
Seems like the names matched (between husband and son) and someone failed to perform the secondary checks to verify. I under stand this more than most as my name has a suffix and many times I have been confused with my father. For us a saving grace is neither of us have a record!
Bottom line in my opinion, Carnival made a mistake, which they admitted, and more importantly they FAILED to address this issue promptly. The first part is understandable, the 2nd is just bad customer service on the part of Carnival's security. OP should be better compensated for this failure.
Just my opinion and if yours differs that OK.