Several others on here have said the same thing as you have about believing that it was the boathouse conversation that made up Michael's mind that Fredo had to go. And there have been, along with yours, some very good points made supporting that idea.
But I am not one who believes that the boathouse confrontation made Michael decide that Fredo had to go.
I believe that Michael made the decision in his mind that once he found out who the traitor was in the family, they would have to die.
And that is exactly why in the Cuban nightclub, when Fredo slips and let's on that he knew Ola and Roth, Michael gets that sickining look on his face. A look of disbelief that his own brother was the traitor, that his suspicions were correct, and that he would now have to have his brother killed. All those different emotions show on Michael's face within a split second. At that moment Michael came to the relization that the person he had to have killed was his own brother, and that's why he goes over to him and gives him the kiss of death.
Michael knew, at that moment, that he was now going to have to give the order to have Fredo killed.
He only kept Fredo around for two reasons : the first being that he would see if he could extract as much information that he could from Fredo about Roth; and the second being for the sake of his mother.