I guess the writers burned themselves with season 2. On one hand, I applaud them from going all the way in - it was ballsy to not dumb down Doakes and pile up on his suspicions (I remember reading interviews where they stated esplicity this, "It wouldn't be fair to have Doakes continue to be suspicious for 5 seasons and not acting on it"), and making him discover Dexter as the Bay Harbor butcher. But in insight, that should have been the endgame.
Still, they managed to go back to it with Season 7, and blew it all out. I thought LaGuerta's death would have made at least someone scratch their heads - Dexter is the perfect guy, everyone's buddy and bro, and yet his wife was killed by Trinity and now LaGuerta dies as well. Batista should have been the one to think about it, all it took was a "hey, seriously: why not?" moment, maybe an off hand joke from Masuka, to make the gears in his head starts running. Out of the remaining characters, our good friend Batista deserved to be the one to bring Dexter down. Problem is that Dexter was so tactically overpowered, that nobody would have been able to outsmart him, at least out of the cast. But someone deserved to discover him.