Regarding your login history extension - is Data Assist not capable of that? Simply Insert a login record into a table after authentication has either failed or succeeded (i.e. Use the Rules Manager to see if the authentication was successful, and write the results to the table).
Just a thought.
Good idea, I'll check that ...