Hi Pablo!
First of all I'd like to congratulate you for the class and to thank you for the effort to provide it.
In the system I'm developing, new users are added by an admin account, which means they are always registered by a user already logged in.
Because of that, the function hash_pass will always use the reg_date of the user logged:
if(isset($this->data['reg_date']))
$registrationDate = $this->data['reg_date'];
if(!$registrationDate and isset($this->tmp_data['reg_date']))
$registrationDate = $this->tmp_data['reg_date'];
This means that the user will be registered with a different reg_date used to generate the password hash. The new user will never be able to log in.
I can change the hash_pass function but I'm not about the consequences.
What do you reckon?
Abraço.