> How can either of us ever say whether or not I spent that specific $100 on dinner?
there's no such thing as a specific $100.
The donation of the $100 was contingent on you not having $100 for dinner. If it turns out you _did_ have $100 for dinner, but now that you received $100 in donations, you can choose to also spend the extra $100 on something else (which the donor may or may not like).
It is on the donor to figure out whether donating the $100 is worth it - at least the recipient needs to declare all their financials, so they'd have the info to make a judgement on future donations.