I'm not so sure that waffling is the issue here. He was basically going crazy for this student (lets not even talk about propriety with his job), and tells her he honors her with his life? Thats some serious talk from someone who is asking to marry you and is in love with you. In my opinion, three months was far to quick to make these statements, and it makes me wonder if he really knows how he feels or what he wants since he went from you to her so effortlessly. You must ask yourself what position you would play had she started reciprocating his affections?
Ok he overheard a conversation, but what about what was going on with him and this girl? How are you supposed to feel or react about your relationship with him after that? The things that happened with this woman should be confronted. He should know that you know what went on with her and the things you found. He should be made to look at how he would have reacted if she returned his affections. He should explain to you what you should think about the next medical student or co worker that comes along? How are you supposed to trust him when he said he loved you but was so easily turned from that love?
To answer your question specifically....I'm not sure that it's so much waffling as he may not know what he really wants. Age is not necessarily indicative of maturity, and you should be sure that he reflects the personality of a man that you want to be a permanent fixture around your son. As far as "preventing" someone from ending it, that's not possible. If someone is not emotionally committed to you or if they are ready to leave, there's nothing you can do about it. Sure you can beg, talk, negotiate, even do things you wouldn't do otherwise, but these things will only be a temporary fix.
I welcome your thoughts, let me know if you want to talk more.