I have seen this happen. What I saw happening was that the WEB-INF directory would be empty after a hot redeploy, but if I shut down the server and restarted it after removing the empty directory, everything was fine.
The cause appeared to be that there were multiple projects that were being deployed to the same application name. Each of these projects had its' own web.xml, etc. As Tomcat attempted to create the application directory it would choke and not place everything as required.
The solution was to either include the material from each project into one application deploy, or to have different application names for each project.
Hope this helps.