I’ve had a similar problem recently - unsure if it is related.
It invovles the use of EEPROM commands, when I was doing a lot of read/wrties - I sense I stuffed up something in the EEPROM (not that the user storage area of the EEPROM should?? do anything to Particle.Publish).
See > Clearing EEPROM allowed me to use Particle Publish again - What the?
In my situation, I got it working again by clearing the EEPROM. However, nobody has responded to my thread yet - so it may not be the ‘real’ solution.
I wish there was a way to see also if a device has been blocked by the servers for too many publishes - that would allow ruling out any restrictions server side kicking in.