Yes, I'd surface it. Forcing it to balance hides exactly what the accountant needs to know, which is that a piece of the history can't be checked anymore. I'd split it in two. The transfer itself usually survives the exchange, because the withdrawal is on-chain. With the hash, the amount and the destination address you can still show that 2.397 ETH arrived in the client's wallet. What dies with the exchange is the other half, what the client paid for that ETH in the first place. So the match can be confirmed while the cost basis is still unknown, and I'd want the report to say those two things separately - transfer matched, cost basis missing because the source closed. That's also why the checklist in the post asks where every withdrawal went.