I also ran into the same bug. I completed all of McNamara's quests, got the safehouse key, then turned the tapes over to Hardin. For the past game week+ they've just been talking about McNamara getting charged, and Hardin still hasn't taken over. Obviously bugged. Shouldn't there be some console command I can use to manually force this to advance as it's supposed to?
Edit: Figured it out. For some reason, the "find a way to oust ..." objective wasn't marked as completed for some reason. If this is the case for you, press ~ to bring up the console, and type:
SetObjectiveCompleted 0015D79D 50 1
The part of the script that handles the succession is done on cell load. You should just be able to leave and re-enter area Harkin is in. If that doesn't work, leave, enter "pcb" in the console, then try re-entering. If that still doesn't work, then the bug might be being caused by something else for your game.
Edit 2: Wait, no, that doesn't work. Even if you use that command, if you test whether or not it worked by using "GetObjectiveCompleted 0015D79D 50", it'll still say it's = 0.00. Maybe SetObjectiveCompleted was programmed to do nothing for "completed" quests? Also, I just noticed that Hardin is supposed to give you the safehouse key after he becomes Elder. Which means that, if the succession wasn't broken, you'd end up getting two keys if you talked to McNamara first when finishing the second-to-last BoS quest. I'm assuming that talking to McNamara first, which marks the quest as "completed", and then talking to Hardin and giving him the evidence, is what causes the bug.