Can you clarify the canon explanation for why Bond isn't allowed to fall in love? Also can you clarify why he was allowed to fall in love with Tracy and Vesper (in both the books and the films). I'd argue there were other girls he clearly felt very strongly about (Kara, Paris, Natalia). There's no reason Bond can't fall in love, I would agree that it happened surprisingly quickly in this however which bugged me too).
I don't think it is so much that Bond cannot fall in love or has not fallen in love in the past (he is human after all), rather it is just something very unwise to do in his profession because it could compromise his objectivity. It might even be something that Double O agents are stronly discouraged from during training. Love can cloud your judgment which is not a good thing when you are on an important national security mission. The woman could turn out to be an enemy agent. Or the enemy could kidnap her to coerce you into illegal actions. Or the enemy could kill her and the resulting heartache could impair your actions or reason.