Which means that the type system involved is not contained to the war. The NPE is the result of some layer outside of the war holding onto the previous deployments class loader. Most likely its the commons logging layer shown here. The commons logging should not be contained in the war as this is used by other components including tomcat, and it has bugs in how it caches resources and cannot be loaded through multiple class loaders.
Read the class loading section in chap2 of the admin/devl guide to get a better understanding of the issues involved with hot deployment. The following wiki page gives a good overview as well.