Some folks didn't notice the update. The final charge showed up today for the correct amount of $26.65. The Verdict: No Fowl Play.
I'm sure reasons it didn't show until today up are two-fold. First, he went out on Saturday. Transactions only post on business days (M-F), so there is no way it's going show up on Sunday. Second, I suspect he's using Wells Fargo, or another bank that doesn't show real-time transaction data on their website (my credit union does, so neener, neener), so there is an additional delay between the time the transaction posts and the time the site updates.
With Wells Fargo, which is the only big bank I have direct experience with, the only things that show up on the web site in real time are the available balance (which is not the same thing as the actual balance) and "pending" transactions, which are actually just approvals (holds). The rest of the site updates once a day. For me, it was usually about 6:00 AM when the previous day's transactions (such as deposits, ATM withdrawals, Visa debits, and paid checks) showed up.
The approval ($31.98) was granted on Saturday evening, and that's the amount that immediately showed up as a pending charge. That amount was also deducted from the available balance tied to the account. Later Saturday or early Sunday, after the restaurant closed, the transaction data ($26.65) was transmitted from the restaurant, through Visa, to the bank. Sunday is a traditional day off in the banking world, so nothing happened with the transaction. Sometime on Monday, the bank debited $26.65 from the actual account balance, released the $31.98 authorization, and paid the restaurant. Finally, the website was updated with Monday's transactions early on Tuesday morning. So that's how a charge made on Saturday takes until Tuesday to finally show up as a completed transaction.