While it may be less convenient for some diners, I can definitely see why a restaurant would be cash only.
Not only do credit card companies charge fees and/or take a percent cut, you also have the additional expenses of the machines to run the cards, extra receipts to print, phone lines to run the cards, and it takes staff longer to run cards (especially multiples).
That said, I think any cash only restaurant should give a computer printed receipt and have a no-fee ATM on site or nearby.
I have been using more cash lately as a combo of helping me budget, screw the credit card companies, and as a way to give more $ to local businesses during hard times.
My bank does not charge me any fees to use any ATM in the US, so if I need cash I go to the Publix's ATM for a $0 charge.
Another easy way to get cash is to do cashback at a place like Target or Publix if you are making a purchase.