mmm.. síp... solo que creo no tienes que utilizar session_register()... no sería correcto, ni útil combinar esto con las variables globales $_SESSION...
Igual mencionar que con SQL también puedes hacer uso de la función (algoritmo) MD5():
Código:
SELECT * FROM tabla WHERE password=MD5($password)
... y por último... lo correcto es session_start() en la primera línea, aúnque no se le vaya a asignar ninguna variable...
La idea esta bien, bastante clara... sin más que añadir. Saludos!