If you book with a travel agent, just ask them to make sure your email is up to date in your profile...or call and do it yourself. When you book with an agent, you are sort of (in a way) booked with the agency profile under your name. Your reservation is associated with the agency's phone # etc. If you are concerned that once they know you are coming, you won't get a code...this is one way to avoid it!
when I first make a reservation for a client, while I am on the phone I usually just ask the CM to check their profile both for a code (if they ressie is during a time PIN codes are out) and to verify that they have the correct email. I have had one or two CMs tell me that the email address they have is not current but that I can't change it since it's not my name. at least then I know to call the client and tell them to call CRO and have it updated.