Welcome to WebmasterWorld [webmasterworld.com]!
Check the path to the .htpasswd file. This should be the complete path on the server, without reference to any "assumed" prefix.
You may be able to gather a little more troubleshooting information by intentionally putting bad information into two places - the .htpasswd pathname and the Require directive. If changing either one of them to some ridiculous value leaves the failure mode unchanged, that may indicate that the problem is there. Try:
If the bahaviour stays the same, that may indicate that the server cannot find the auth file *after* it has issued (and logged) the 401 response to request the user's username and password from the client browser.
I would look most carefully at that authorization filepath, and make sure it's correct and does not involve symlinks or aliased file pathnames. Re-checking the permissions on the authorization files and their parent directories is worthwhile, too. Compare to a working "account" on the same system.
Ref: Apache documentation [httpd.apache.org]