You should have a look at the paper given in the answer to <a href="https://mathoverflow.net/questions/31147/obstruction-theory-for-non-simple-spaces">my earlier question on obstruction theory</a>. 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.