I have been using Spark and Photon for weeks and I have never seen that behaviour. I have upload a code in a Photon it connects to the network and starts breathing cyan.
After a few seconds or minutes (it changes when I reset it) it starts breathing green. In it does not do what it is supposed to do.
This photon it is powered buy an external ac/dc power adapter.
In other hand, I have another photon with the same code (which was uploaded before) powered buy another ac/dc power adapter and it is working perfect.
I have started to see this behaviour after I started using millis() instead delay() in my code:
I have declared a global variable: long tiempo = 0;
Then in loop() I have:
tiempo = millis() + 5000; //for a delay of 5 seconds
while (tiempo > millis())