I had this same problem. I was getting an email sent to me that had as the only content MODULE_PAYMENT_CC_TEXT_MIDDLE_DIGITS_MESSAGE. I went to an old version of Zen-Cart and compared the /includes/modules/payment/cc.php to the one that existed in my newer version. I changed the message creation line from:
$message = sprintf(MODULE_PAYMENT_CC_TEXT_MIDDLE_DIGITS_MESSAGE, $insert_id, $this->cc_middle);
...to this...:
$message = 'Order #' . $insert_id . "\n\n" . 'Middle: ' . $this->cc_middle . "\n\n";
After I made the change, the email for the credit card middle digits started working.
I hope this helps anyone who might be having similar problems.



