Io farei due prove:
Lato login
- fai un echo di $usn e $pass e vedi se corrispondono a quelle che hai effettivamente inserito
- metti un print_r($record) prima del if($record && password_verify()) e vedi che record ti tira fuori

Lato registrazione
- fai un echo di $hash e vedi se è lo stesso di quello salvato nel database. Magari hai dato una dimensione più piccola per password, che ti viene troncato