You should have a look at the paper given in the answer to my earlier question on obstruction theorymy earlier question on obstruction theory. It gives a very nice and direct proof that the obstruction cochain is a cocycle that also works in the case of non-simple spaces (a setting that most modern treatments gloss over). It's written in simplicial rather than cellular language, but I imagine the techniques could be carried over with a bit of effort.