not sure if this might apply in your situation, but when running most Unix-based OS's on webservers, if you run out of disc space (or come too close to it!), one of the first symptoms you will see is your .htpasswd file suddenly reducing to 0-bytes... this happens due to the file being accessed and written to, and when it goes to be saved once again, there is not sufficient space to retain the file... worth checking definitely from what you describe, hope this help..!
