Well, it's not the first time Carlo has beaten Connie up, and she didn't leave him then. There would have been strong family and cultural pressures not to leave, especially as she was pregnant.
Michael would have worked out very quickly that Carlo's attack on Connie must have been part of the set-up to kill Sonny. How else could Sonny be ambushed on a journey he hadn't intended to make? Michael could have had Carlo killed at once, but it was useful to leave him alone and to allow whoever was using him to believe that they had outwitted Michael and weakened his position.
On the day of the christening (and Michael's massacre of his enemies), Michael tells Carlo that he knows he set Sonny up, but wants to know who exactly it was who was behind it. He has already told Carlo that he has settled all family accounts that day, but all he now needs from him is that one name, which confirms his suspicion. At that moment, Carlo's usefulness is over.
Connie later confronts Michael, accusing him of killing Carlo, and says that Michael always thought Carlo was involved in Sonny's murder, but it wasn't true. So she does know about the suspicion - she just never believed It.