Hi,
That's a caching issue.
You have a cache system activated on your website/server which stores the processed page the first time a URL is requested.
Then, when the URL is requested again, it delivers the cached page instead of reprocessing it.
So when you access your URL, you see the prices in € as it's the default.
Then, you switch to $ and it refreshes the page. The switch is properly taken into account by HikaShop, but as the page has already been cached, you see the page with prices in €. But then, if you go to another page not yet cached, you'll see the prices in $ as the switch of the currency has been properly taken into account.