To answer your question, I have received information from many US immigration lawyers and criminal lawyers who will tell you an absolute discharge does not count as grounds of refusing you entry based on your criminal record. However, in the INA immigration rules any admission of guilt makes you inadmissible. That being said you also have the petty exception rule which if you committed only one CIMT and the max sentence is 1 yr confinement and your actual sentence was less than 6 months imprisonment, then you are still admissible. A controlled substance violation is treated really harsh by US authorities and they have zero tolerance even though you may qualify for the petty exception rule. You have been very lucky indeed.
Regarding your RCMP record, an absolute discharge should be purged after 1 yr. That being said, some will tell you the information is purged while others say the charges and disposition remain but indicate that records are sealed. What really happens is anyone's guess. According to the Toronto Police website if applying to become a police officer, your absolute discharge must be sealed after the yr is up. Therefore, this means your discharge is still on the RCMP database forever but shows as sealed which is similar to getting a pardon. The information is not divulged however to employers unless you need a vulnerable sector check for working with vulnerable people. Since US authorities have full access to the database, then they will always see the information about your charges, you and your discharge.
The reality is that every time you get fingerprinted the police create a temporary file on the RCMP database with all your information. You need to pay the police service to destroy the information on the database. If they agree they will never destroy their local files. However, most local police services will not divulge this info past 5 yrs in Ontario.
Unfortunately, DHS has full access to the database and whose to say they haven't already searched it before your records are removed. It's a violation of our rights but security prevails first or so they want you to believe.
Also, the US has implemented a system where all planes going through their territory must be screened. This means all commercial flights from Canada must provide the names of all passengers while entering US airspace prior to 72 hours. DHS does background checks using the RCMP database. As long as your plane doesn't land in the US, you should be fine.
My advice would be to get the info removed from the RCMP database as quickly as possible before attempting to cross the border. If the info could not be removed, then you could attempt to cross the border hoping for the best. If you are denied then you're stuck with a lifetime of applying for waivers. I guess the best advice would be to never be charged with anything. Unfortunately, the system is flawed and the few who get caught will suffer for a lifetime. Society has become very intolerant to criminals even those who made a simple mistake, were caught up by the system at the wrong place and time because some cop was on a power trip or were falsely accused. Criminals are an easy target for everything that seems wrong in this world presently. Nowadays, you are guilty until proven innocent. The more people voice their concerns, the more we can build a more just and better society for the people who made a simple mistake. Unfortunately, between the true criminals and the law abiding citizen, us with discharges are stuck in the middle of confusion.