EDIT: Found the culprit. It's within our code after all. Someone decided to reset the currency ID for some reason.
We've been developing a module for our own custom solutions.
Today, I noticed that the logged in user's currencyId is reset to '0' whenever they move back to the previous page.
The flow of our custom module is like this: User chooses product -> Opens custom order page -> user proceeds.
If the user decided to press back, their currencyId will be reset to '0'. The back button is simply a href to the previous page. None of the module actions write to the user's currencyId, only reading them.
I noticed this while debugging the multi-currency bug we've been getting. Did anyone else had the same problem? If yes, how do I stop this behaviour?