Shaun, the weather in New England and the Maritimes (the area of your cruise) should be cool in October, especially the later in the month that you go. However, it can be anything from the 70's (F) and sunny to the 40's (F) and rainy. No way to know - plan for anything, bring layers of clothes (sweaters, sweatshirts, windbreaker or light jacket, raincoat).
For requirements to enter Canada, check with the Canadian embassy or consulate nearest you, or go online (check with Google for the Canadian government, and go from there).
With all those questions, I would suggest you book through a good travel agent who knows cruising in North America, and is familiar with the best ways to get here from S. Africa. With time changes, different climate and visa regulations, a T.A. with knowledge in this area can help you avoid some unpleasant surprises!