I had the same issue today. Debugging, it appears that the mc_session_id cookie never gets set, which I discovered was because of the call to current_time(timestamp).
Here’s what I believe is happening:
current_time(timestamp) defaults to output in the user’s timezone, unless you specify the second parameter as 1 or true.
As I understand it, cookies exist in GMT only (Seconds since epoch, therefore timezone independent). If your timezone is GMT or is ahead of GMT, you might still see the plugin function, as it would expire in (timezone difference + timeout value). GMT+1 would expire in 65 minutes; GMT+2 would expire in 125 minutes. As I am in GMT-4, it would expire 235 minutes before the cookie is set, therefore the cookie is ignored, or never set. My browser never sees the cookie request from the server.
If I change this to current_time(timestamp, true) it works as expected (verified the expiration time is set to now + timeout)