There are two calls to writefields in your code, I don't see a delay between them. I see a delay at the end of 20 seconds. I would expect you to get a 429 error, but can you try removing one of the calls to writefields, and see if the error stops? The channel would update correctly as you said, and then also return the error on the second call.
When you chnge your prodile time zone your charts should update to the profile timezone unless they are custom visualizations witha set timezone. Can you sign out and in and then let us know if you still see this problem?