I too am a heavy sleeper and can literally sleep through hours of a loud alarm clock going off.
Here's my advice/method:
1) Get the right amount of sleep.
2) If #1 is taken care of, try going to bed at a different time or getting up earlier (I'm guessing later isn't an option). I say this because it may be that you are in a very deep phase of sleep every morning at #am when you need to wake.
3) Use two alarms, 3 if needed on important days.
-Place one alarm (Cell phone for me) at least a short walk away from the bed. I use the alarm feature on my blackberry and select and annoying ring. I also at times will set "appointments" on the calendar to go off as slightly later backups.
-I then use an am/fm alarm next to my bed as my main alarm. If not hearing the alarm is a problem, the am/fm part is key. You can learn to sleep through the beep. Instead, I use the fm part, crank the volume all the way, and then the key: tune it just off the station so that there is tons of static and black noise. It's annoying and loud as all get out.
Beyond not hearing the alarm, you have two other potential problems:
A) Turning the alarm off while half asleep only to wake up late. The cell phone palced away may do this but on important days you may want a third cheap and loud clock placed somewhere else in the room.
B) "Sleepy Logic": You hear the alarm and are awake enough to get up, but your still fuzzy headed logic tells yourself that you have plenty of time and you justify how you don't really need to get up yet. It's like bad math while you calculate time with half of your neuronal pathways connecting.
My solution to this isn't foolproof, but helps defeat sleepy logic most of the time. Simply set your alarm 30 minutes fast to trick yourself or at least pad the mistake time so that you will still get up in time...
Good luck!
The good part is that over the past 5 years or so I get up early consistently for work and sleeping through the alarm rarely happens. You can train yourself but I still use failsafes on important days.