Why can we cancel cheques, but not Western Union transfers?
You are presuming that after the transfer, the cash is still "sitting in a Western Union register" but no, that cash may have already been taken by the fraudster. To refund the victim, Western Union would have to (1) pay the victim back the amount of money lost, and then (2) pursue the fraudster to reclaim the lost funds. Because the fraudster at the other end can simply show ID to get the money [ie: they do not have an account with Western Union], the cost to pursue that person to reclaim the lost funds would be substantially higher than for your bank, because your bank can simply ding your account. In the event that your account goes into overdraft [because there were insufficient funds to reclaim the full amount], the bank at least has a framework in place to pursue you for penalties.