El problema es que el parámetro @password del procedimiento está definido como varchar(20) y el valor '20dd03088d8f13e7b04c80e10ab39f95' que le pasas en la llamada supera esta longitud, en estos casos, SQL Server trunca la cadena a los primeros 20 caracteres, y como consecuencia la condición [Password] = @password ya no se cumple.
Por otro lado, el retorno del procedimiento es un conjunto de resultados, por lo que no tiene mucho sentido el código:
Código:
DECLARE @return_value int
EXEC @return_value = [dbo].[Seg_UsuarioVerificarPassword]
Simplemente debes ejecutar:
Código:
EXEC [dbo].[Seg_UsuarioVerificarPassword]
@nombreUsuario = N'juan',
@password = N'20dd03088d8f13e7b04c80e10ab39f95
Saludos