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.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: startup.bat is overwritting tomcat-users.xml