Well, there was. Teams are already reporting to Spring Training. When was the right time? What if no opportunity arises in March? And once the season starts, Betts' value plummets due to the loss of the compensatory draft pick.
In July? Position players just don't fetch those kinds of returns in July trades. Know how many good pitching prospects the Orioles got for Machado? None. They really only got one decent prospect, and even his luster has already worn off.
If the Sox did no deal Betts now, the return would have only decreased. If the Sox couldn't get what they wanted for him now, they were never going to.