If I worked for an American company at home from Canada (I'm a Canadian citizen), do I need to report income / pay taxes to the US, because the company is from the US? I'm specifically asking about an oDesk job, working at home for a US company. Does the answer differ depending on whether it is an hourly job or a fixed-rate job?
No, if you are not present in the US - you do not need to report anything. It may be though that your payer will have to withhold amounts for the IRS on your behalf, and you'll have to submit a non-resident tax return to claim refunds.
I think the answer is "it depends".
If taxes were withheld, you may need to file a return.
This might help: http://taxes.about.com/od/taxplanning/qt/form_W8BEN.htm