With a low 500's credit score you are not going to qualify for financing other than private assistance (Land Contract or maybe a Hard Money Loan). Maybe you can work on getting your credit scores up before applying for a mortgage. There are people who can help you do that.
Co-signing by a Canadian citizen. Does this person have a home or a job in the states? Since the lender will not haveany recourse in case of default, most likely the answer will be no. Unless of course they work in the states and have a residence in the states.
You should talk to a lender and get that person all of the details so they can guide you in the right direction.
Thanks and Good Luck!