I don't get the different whether he be from Canada or England. Hal is an American. Ryan Reynolds is Canadian. By your own logic you should hate him in the part!
And as for J.K.Rowling wanting only British actors in the parts is mostly cause American actors have no idea of being British other than butchering the accent. And just cause Superman is "American." Doesn't mean anything! He is a World Icon! Besides, what the hell does it matter who plays the character as long as he fits the criteria for the part? Tall, Good looking, has a squared jaw. and can act! I got to wonder how you would feel when rumored that Will Smith was supposedly up for the part when they were doing Superman Returns. A Black Superman! Would you have hated that too? Of course I would have, not that he would have been black. I just hate Will Smith!