depends where in Canada ur flying from... i'm from edmonton and i have to go to either van or seattle to houston to bz. cheaptest i've ever found is around $1,000... if ur from the van area, the cheapest, not the most convenient way, is to take quickshuttle from van airport to the seatac airport which is like $45 one way than fly from seattle. i found flights from there for like $450 - $600 ish... the bus is about 3 1/2 hours but is worth it if u wanna save a few.
as for barbados... u might have to back track thru the states. i was looking to go to dominican republic from bz and i had to back track to newark.
good luck!