Short of a bad solder joint, I don't see anything wrong at a quick look.
Swap out a few chips and see what happens. Double check your joints.
Slow down the oscillator and see what happens.

(And on a side note, post all your code if you can. I can see room for a bunch of improvements that can be made in your code, streamlining it and all. And I'm not talking about MY standard 'colon-ization' stuff )