Ok - Confirmation of Payee is part of the fraud checks which the FCA made the six largest UK banks implement, when you attempt to make a payment via Faster payments or CHAPS to a new payee not on your list of approved payees then there is a validation stage. You tell the sending bank the account name, sort code and account number of the payee you wish to send the payment to. The sending bank then sends a message in real time to the receiving bank to ask the bank to check the details i.e. does the account name match the sort code and account number. The receiving bank will send back an indication of full match, partial match etc together with the full account name. You can then check the details and amend to get a full match if appropriate. Some banks do not support this facility - for example Coutts will return an indication that they do not support this facility. Confirmation of payee does not work on BACS so yet another reason not to use BACS for certain types of payment when you want certainty and security.
NS&I will bank with one of the major clearers and will have probably sent a request to their clearer to pay the funds into an account name, sort code, account number they detailed from your details. For some reason, perhaps something as simple as a partial match their clearer has said the details do not match the account so the funds are being returned to NS&I. The funds were not recalled as the NS&I clearer never sent them due to this mismatch. NS&I systems are probably not that automated and returns will probably be processed manually which is why the returns take so long.