Hello Dave!
Great to hear that it is working well!
I do not know exactly how ADOL-C/ColPack identifies nonzeros. What I can imagine is that if you have an expression such as :"f(x) = x-x", CasADi would simplify the expression to "0", whereas ADOL-C/ColPack might not (or might not in a more advanced cases) and conclude that f(x) depends on x. But that is just my speculation.
If you are worried that the output is not correct, you can of course check that the corresponding values of the Jacobian from ADOL-C are numerically zero.
Joel
P.S: If speed is an issue, generating C-code usually gives a speedup of around 5 times over the virtual machine. See the examples/cplusplus/nlp_codegen.cpp for an example.