No, this isn't normal. A little flaking, perhaps, when you go over 600°F, but 500°F shouldn't do anything. It shouldn't even smoke.
Something is wrong with the seasoning on your pan. From the fact that its smoking, I'd guess its not sufficiently baked on. Alternatively, maybe the pan wasn't clean when you applied it.
If its just not baked on, I'd remove all the flaking bits (with some harsh scrubbing, sand paper even), clean it thoroughly, then bring it to around 300°F (stovetop or oven). This will make sure it is completely dry. Spread a thin layer of high-iodine value oil (flax seed is great, soy is pretty good and cheap and easy to find: look for the bottle that just says vegetable oil and check the ingredients, it's probably soy). Spreading is easy with a paper towel.
Next, toss into a very hot oven, 400–500, smoking is expected. Bake for 90 minutes, then turn the oven off. Allow pan to cool with oven. Once its cool, touch it. If its at all tacky, put it back in the oven, and bake for another hour (once again, allowing to cool with oven). It should be a shiny black at this point, and not at all tacky.
You can repeat the process to add more layers. Two should be reasonably non-stick to start cooking on.
If it still peels off after this, you're probably going to need to strip the seasoning and re-season the pan, after stripping it to bare metal. See What's the best way to season a cast iron skillet? to season it from bare metal.
Interesting question here. I'll preface my answer by saying that I am also not a chemist.
Short Answer: During the post-cooking clean-heat-spray-heat-wipe cycle, you need to get the pan much hotter.
Longer answer: Canola Oil has a smoke point of around 400F. As you mentioned in the question, the oil needs to be just hotter than it's smoke point so it begins to polymerize. When cooking at lower temperatures, the canola oil likely never reaches it's smoke point, and therefore does not polymerize during the cooking process.
When you wash your cast iron after cooking, you are then cleaning most or all of that canola oil off of the pan as it has not been polymerized. When you spray canola on during the cleaning cycle, and don't let it get above 400F, this oil is also not polymerizing and the seasoning on the pan is not being improved. Have you found the oil left on the pan is often somewhat sticky? This is a common sign of the oil not actually polymerizing.
So, you can absolutely use the pan to cook with canola oil at less than 400F and you can still avoid the carbon issue. The solution is just to make sure you let the oil go past its smoke point when you heat the pan after cooking. That way you are essentially "always cooking with high temperatures" and you avoid the transition from cooking at low temperatures to high temperatures, and therefore you will avoid the bits of carbon on your food.
Best Answer
It is a chemical quality of the oil called "iodine number". There is nothing you can do about it, it is as inherent in the oil as its smoke point. Oils with a low iodine number create hard polymers, and oils with a high iodine number create soft, sticky polymers.
If you want a hard, nonstick surface on the pan, choose the right oil. Coconut oil, Palm oil or lard give you a good finish, while many polyunsaturated oils give you a soft finish. Linseed oil is the worst of all, it's very gunky.
Note that many sites will suggest seasoning with high iodine oils, especially linseed, because it is easier to get them to polymerise. I personally don't like this recommendation - as you discovered, the resulting polymer is low quality.