I like some of the suggestions that I have read and might even try some with my DS4. He does have "down time" at pre-school and lays on a cot. I'm assuming there are times he does nap and times where he doesn't. At home though, he usually doesn't take a nap anymore.
OP, I can definately relate. DS4 will also get very crabby/cranky when he really needs to take a nap but doesn't. I honestly think he's afraid of missing out on something.
The last time he had a bad one was in Epcot back in October. We had lunch ADRs for Teppanyaki's and DS4 gave us such a hassle that we almost didn't make it. He was literally kicking and screaming. DH and I were really trying not to lose our tempers, but that was quickly diminishing

. I figured he was really tired and was refusing to take a nap (I can understand that since it was his first time in Disney). We finally got him to calm down by getting him a drink he asked us for. Just made it to our ressies in time. A few minutes after our lunch was cooked, DS4 "crashed" and was out like a light. Ahhhhh, finally peace and quiet

He was much better after his nap.