Even though the US Postal system is widely denigrated by Americans, I can say that it is quite good. This is in comparison to Canada Post. Consider: Saturday service (soon to be phased out), and very good package tracking ability within the US. I lived in Canada most of my life, but when we moved to the USA, we were amazed at the efficiency of the USPS in comparison.
Usually, we estimate that it takes 3-4 weeks to get anything mailed to Canada. We live in the Chicago IL area. My relatives are in Toronto, Ont. We last sent my mother-in-law photographs of her grandson on Sept. 24, 2011. As of today (Oct. 5, 2011), she still hasn't seen them. I'm pretty sure that they reached the border within a day, and then they have been in Canada Post's black hole since then.
Most efficient of all in my experience is Japan's EMS system. They track internationally. Moreover, I know that a package sent from Japan will reach me in 3 days flat. Sent Thursday, received by the following Monday or Tuesday at the latest.
I sympathize with your lost opportunity and frustration. The only thing that I could suggest is to always have a valid passport close at hand. You never know when you need to leave the country (family emergency, etc.)