I wonder how much of "heaven" was just a massive mindfuck from Zachariah. Someone upthread mentioned Pam was written differently - maybe it was intentional, to get Dean to say yes to Michael, since that is what Zach wants. She also said she was shot, when I'm pretty sure she was stabbed by a demon in that shitty motel room when she died last season. Now, that could either by a huge fuck up by the script supervisor, or intentional if the entire thing was manufactured by Zach to get the boys both closer to saying yes.
Think about it - all of Sam's happy memories were away from Dean (well, more away from John, but you get the point) - the Thanksgiving with the 13 y/o girl's family, the time in Flagstaff with the dog, etc. All of Dean's happy memories were with family - the fireworks with wee-Sam, the "Wuv Hugz" one with Mary, etc. That drives a wedge between them and in Zach's point-of-view, hopefully gets them both closer to saying yes and getting this show on the road.
The other evidence of it being a mindfuck is the impact it has on Castiel - Joshua said God has intervened enough, he doesn't care, etc., so that demoralizes one of the boys' greatest allies on Team Free Will.