Wow.
That's a great professor.
The path of least resistance for us is to either turn down requests, or say yea, sure and write a half-assed letter.
The best thing to do when a sub-par student asks for a letter, is to do what this person is doing. Take the time, assess their skills/qualifications, and provide useful feedback. "I don't think you're ready for medschool and I can't be supportive of that plan. But I think you would do well in an SMP and if you do well there it can be a springboard to medschool; and I will do whatever I can to help you get into an SMP".
Now you should go sit down with them, talk about what things in your history made them come to this conclusion. This wouldn't be a time to try to convince them you are ready for med school. It's a chance for you to get some objective feedback and to identify your deficiencies. An adcom is likely to pick out the same deficiencies but won't give you the feedback; they'll just reject you. So talk with this person, determine the hurdles, come up with a plan to fix them (an SMP may be part of the plan), and move forward on a realistic path.
Agreed. You are really fortunate to have someone willing to sit down with you and give you feedback.
Also, as you move forward in your professional career, consider that the more effort you put in when you come asking for a favor or making a request, the more likely you are to find someone willing to go out of their way for you. Making an appointment and then showing up in person, prepared with any necessary documents like CVs, transcripts, etc, is best. Just going about it that way will always make a better impression than sending an email. Go in with some humility, asking not "Will you do this for me?" But "I really felt that I learned a lot from you and I hope that I made a good impression on you as well. Do you know me well enough to write a
strong, positive letter on my behalf? And do you have the time to do so before (
date at least 6 weeks in the future, and at least 8-12 weeks before the actual hard deadline.)?
If you have to do it over a distance, write a real letter, that requires a stamp to deliver it, outlining your experiences with the person and how they have helped you to grow as a student. Then respectfully make your request. For their convenience, include everything they might want to reference in order to do the job well, and mention that you will follow up with them in a few days. Print it all on good quality paper, put it in an envelope that is big enough that nothing needs to be folded, hand address it and apply interesting stamps, if you can get them. I keep a supply of nice stamps, so that I'm not stuck with either something boring or else Bart Simpson. (I do have a few Bart Simpson stamps for when I am sending polite "F#ck You"s. Small gestures can be so meaningful, I find.) Then, do follow up with a phone call (preferably) or email (if you must) a few days later. And again about once every week or two until you get your letter.
In general, the more it seems to cost you in time and consideration, the more they will want to help you. Email is so easy, and so many other students will be using it to make demands on the professors time, large and small. You want to stand out, to be special, a little more mature and refined... someone they could really recommend to go on to bigger and better things. Make it easy for others to feel good about helping you, and you won't have to chase them as much.