I agree that it's a borderline issue. However, seeing that in .de the customer has explicitly NO right to ask for a refund or return when buying PMs (because the items are subject to exchange rate fluctuation), I would further argue that here the same is the case.
So either see that the guy gets the Rand or refund the VALUE of the rand.
Turn it around - you actually deliver, the price falls, you will NOT get 1605USD for your coin, but only 1500USD.
I agree that the circumstances are different, but the principle applied is the same.
Disclaimer: IMHO, since IANAL.
The same in Czech republic - customer has no right to ask for a refund or return at the buyig price if the price depends on the exchange rate. But accordance to Czech republic laws such trade never hapened. I ordered Krugerand + shipping + insurance + express delivery as a complete set. The item was never sent to me. No trade was made. All money must be sent back to me.
I like the equotation
"The Krugerrand" = 90 BTC
So I want to make trade => I have my Krugerrand + shipping + insurance,
or
make no trade => I have my bitcoins.
I gave Coinabul many propositions. One proposition was "man in the middle" - the same offer you gave me. It was said to me that this is illegal. I gave Coinabul this proposition again now. We will see what happen.