Last time I did London BA via Toronto, and the experience was not pleasant. Our passports were checked..(why?) as soon as we left the plane, then we had to officially enter Canada, which involves showing your passport again at immigration. The immigration official wasn't especially awful, but did ask me why I wanted to enter Canada, and looked pissed off when I said that I didn't, that I was simply en route for Buenos Aires. I also had to collect my baggage from that plane, and then take the baggage through customs. The customs girl was okay, I mean, as a person... just doing her job. But I felt that she did ask terribly impertinent questions. When I told her that I had no intention of staying in Canada, she wanted to know where I was going. "Buenos Aires", I said. She started asking me what I was doing there, how was I going to support myself, how long I was staying, why I was carrying so little luggage, I mean, wtf has it got to do with you? and really, It made me very uncomfortable. The situation is an extremely abnormal one. Why are they asking all these questions to people transiting to other countries is beyond me. They really ought to know that it's really bad for business to carry on like this. It's also a complete waste of time for everyone involved. And having officials sit there and ask silly questions is expensive. These guys are paid to do this.
The most bizarre thing is that you really do enter Canada. If I wanted to, I could have taken a cab into Toronto, totally legally, as I had passed customs and immigration. So whatever the Canadians might think, this is in no way a healthy situation for their own version of Homeland security. I would think that this is a relatively easy way for a terrorist/trafficker to enter Canada. Buy a ticket to Argentina, land at Toronto, say you are just passing through, but just stay in Canada. It's nuts, really it is.
Unless the situation has changed, I would avoid passing through North America. The situation sucks badly.
Sorry about the rant