I had a similar, but different problem with Tomcat 6. Each time it started it would create a new tomcat-users.xml file with no content between the <tomcat-users> and the </tomcat-users> tag. After much wailing and gnashing of teeth and I spotted that all the content that I *thought* was in there was in fact commented out in the default file.
Ho hum. Hope this saves someone some time.
subject: startup.bat is overwritting tomcat-users.xml