Kroger is sending their returned check fee in as a new check to your account in order to collect their fee. They will use the same check number as the check you originally wrote but the transaction is actually processed as a new check. Kroger or its processing agent can not do this legally from my research.
It is my opinion the reason they are doing it this way is to take advantage of the customers bank bounce protection. A lot of banks do not allow electronic transactions such as debit card and ACH's to be covered by bounce protection. Doing it this way insures that they will be able to collect.
If for some reason the check the merchant wrote for the fees fails to clear you will be assessed the normal bounce check fee at the bank because it is a check even though you did not write it or authorize it. Keep in mind checks can be sent through up to three times...the NSF fees could easily add up to hundreds of dollars for one check considering one check has been illegally converted in to two separate checks.
In order to collect fees directly at your bank the merchant must convert your check in to an ACH, hand you their written policy, simply publicly posting it is not enough. Most places like Walmart make you sign the receipt. This receipt notifies you of what can happen and provides them with authorization to do the electronic transaction.
Kroger does not do this. Kroger accepts the check and if returned presumes automatic authorization and creates a new paper check on your behalf. Under the regulations this is called an RCC, remotely created check. There are regulations that specifically deal with this type of transaction under Regulation CC
229.34(d)(d) Transfer and presentment warranties with respect to a remotely created check. (1) A bank that transfers or presents a remotely created check and receives a settlement or other consideration warrants to the transferee bank, any subsequent collecting bank, and the paying bank that the person on whose account the remotely created check is drawn authorized the issuance of the check in the amount stated on the check and to the payee stated on the check. For purposes of this paragraph (d)(1), account includes an account as defined in 229.2(a) as well as a credit or other arrangement that allows a person to draw checks that are payable by, through, or at a bank.
Merchants deserve to get their money and a fee for dealing with bad checks, but there is a right way and a wrong way....this is clearly the wrong way as it side swipes the consumer and can cost them far more than the original NSF fee.