There's also likely to be an issue with the row multiplexing - if it stops, the continuous LED current is probably high enough to burn out LEDs that are on in the row that its stuck on. This isn't a problem once you have 100% tested stable firmware, but during development unless you are very good and very lucky, to avoid letting the magic smoke out you either need to reduce the LED supply voltage to reduce the max continuous current through them, or patch in a circuit to monitor the duty cycles of the seven row drive lines and if any stay over 15% for long, disable the display.