I'm not a professional teacher, but I was partly raised by a grandmother who was a huge stickler for the "may/can" distinction. If I asked "Can I have some chocolate?" she would often reply, "you can, but you may not."
The reality is that the distinction is fading, and fast. As Raymott pointed out, usage is shifting and the distinction is going the way of that between "uninterested" and "disinterested". In the same way that "nice" once meant "ignorant" and now means very little, so the rigid immutable difference between "may" and "can" that was so beloved of previous generations is disappearing.
I agree with bhaisahab that "may" sounds more polite when used in a question, but that may be because I grew up in the era of transition, when most adults still observed the distinction.
Language Hat and Language Log two of my favourite language blogs, have both addressed this question in the past. Both blogs are written by professionals in the field of linguistics, so their view is much more descriptivist than the "thou shalt not" attitude displayed by my late grandmother and prescriptivists of today, but you may find it worthwhile to search those blogs and see what they have to say on the subject.