Do you have anything in writing saying he will write you a letter? If so, I would write him a professional letter and play the email game. Something along the lines of:
"Professor, after multiple attempts to contact you to follow up on the letter you promised to write on XX/XX/XXXX, you have not responded nor given me any updates regarding my status.
The consequences of this letter not being submitted will be severe for me, because of XYZ. If you had no intention of submitting this letter for me, I would have appreciated if you would have told me right away. If you changed your mind about writing me the letter, the right thing to do would have been to tell me right away. Instead I have been waiting for X amount of time, and my entire application is waiting for your letter.
To be honest, I am incredibly disappointed in you Professor. I truly expected more. This is a poor reflection on the department, and the University.
Sincerely,
BioTic"
And most importantly, CC the chair of the department. If they are the chair, CC the person above them. Let them hear it from the person above them.
I dunno, maybe it's not the "right" thing to do, or considered "professional," but screw that guy, man. He apparently doesn't have the integrity to follow through with his promises or even the decency to not ignore you, so why shouldn't you let him know how you feel? Or let his boss know what they're doing? What's the worst that can happen, he won't write the letter? At that point I wouldn't even take a letter from him even if he wrote it.
Then again, I'm an a**hole so maybe this is one piece of advice from me that would be better not listened to lol.
Either way, I'm sorry you're going through this. I hope you can get this figured out man.