I had some time to spend on this issue today and have decided to rewrite the mechanism that calculates login streak.
The way it used to work is that each time you visit the site (as a logged in Pinsider), the system would check when was the last time you visited the site. If that was more than 24 hours, it would reset your streak to 1. If it was less than 24 hours, it would proceed to check if you already got a 1 point streak increase for today. If not, it would increase your streak by one. Theoretically this would work fine, but I assume different timezones were messing things up.
The rewrite of this code introduces a much, much simpler, once-a-day, system job that checks the "last seen" time for all Pinsiders and then increases the login streak by +1 for all who were "seen" in the past 24 hours. Everyone else will have their streak reset to 1.
Hopefully that will solve this once and for all!
I have stopped the old streak counter process and will start the new process tomorrow (24 hours from now).