It looks like the calculation is evaluating as a text comparison instead of a date. Are you sure the results of CurrentDate and ExpiredDate are stored as dates?
I would define CreditCardStatus as unstored,
split = Substitute(ExpiredDate;"/";¶);
Choose ( Date(GetValue(split;1) + 1; 1; GetValue(split; 2)) ≤ Get(CurrentDate); "Valid"; "Expired")
siplus, I did a copy/paste of the calculation. It set everything to "Expired".
Mike_Mitchell, I thought I had caught "the obvious". But the calculation for ExpiredDate, using the text in ExpirationDate, was set to TEXT not DATE. That did fix it.
I want to thank both for responding.