The answer is no.
Work Step by Step
The traveler would most likely NOT get exactly $300 back when he exchanged his EUR back to USD. This is because the exchange rate for money changes on a daily basis. The only way he would get EXACTLY the same amount back would be if the exchange rate was EXACTLY the same as it was on the day he had exchanged it first (from USD to EUR). This is very unlikely.