In many parts of the world, especially in the hospitality and service industries, a "customer first", positive, accommodating response to issues often leads to increased revenues due to repeat business and recommendations. Particularly in incidences that call for a little compassion and sympathy, working with a customer to achieve a "win-win" for both sides can often result in significant benefits.
My expectation is that the hotel would work towards just such a "win-win" result. I would have no expectation that the hotel would refund both their fee and the booking agency's fee - only the hotel's fee. After all, the booking agency's fee covered the work that the booking agency did in fact perform i.e. booking the the tour. However, the hotel did not have to perform any work, because I cancelled the tour, therefore a refund of the hotel's fee ONLY, NOT the including the agency's fee, seems reasonable and appropriate.
In fact, I would even go further, and suggest that a reasonable response would even be a refund of the hotel's fee, MINUS a nominal cancellation charge, to cover any expenses the hotel might have incurred in the act of booking the tour. Again, paying the hotel for any work that they actually had to perform is certainly reasonable.
The hotel is unreasonable in their attitude of "all or nothing". The cost of the tour was very high. I am out that full cost, while the hotel has made a tidy profit off of my misfortune, without having to perform any work at all (excluding the nominal cost of paperwork to book the tour, perhaps). Their suggestion of postponing the tour is also unreasonable, as I live in a different country and have no idea when, or even if, I will ever have the opportunity to visit the hotel again - though if they had made an effort to reach a reasonable solution (such as I propose below) I might have been more inclined to visit the hotel, should I ever have the opportunity in the future!
A reasonable response would be a refund of the cost of the tour, minus the agency's fee, minus a small cancellation fee. This would leave the hotel at a zero balance (or perhaps even a small profit), and would leave me with a significantly improved attitude toward the hotel. An attitude that would pay significant benefits to the hotel in the form of positive reviews and recommendations, likely leading to increased business for the hotel.