@sanwin, please post the code that you were using when D7 stopped but your RGB was still breathing CYAN. That typically sounds like when the user code is stuck in a tight loop. While there are problems with the Spark Core right now, MOST of my problems with it have been my own coding mistakes... and I dare to say, I'm a prefectionist. yeah I mis-typed that on purpose... learning to let go!
If you could build code locally, you could also try out some watchdog timer code we're working on that aims to help automatically reset your core for you when your user code goes into a tight while loop, then alerts you currently with a different breathing LED color that something went wrong and a watchdog timeout occurred. You can follow along here: