I had this problem – on my localhost, which doesn’t send out emails, I tried to register new users and then activate them using the admin tool. These users could not login. However, users created directly with the admin tool could login.
The solution, I found, was to edit the wp_users table and set user_status to 0 for those users who I registered on my local machine. Works like a charm now.