When a betrothed person comes of age, there should be a modifier something around the lines of "++ Agreed to a betrothal" for the liege negotiating the marriage. Otherwise it seems the AI has no incentive to follow through on their contract, even if the person who just came of age is only barely considered too good for the marriage.