I stick to a schedule very firmly. If my son is off schedule for whatever time and he cannot sleep at naptime, then I put him down for "quiet time." I put him in his bed at his normal naptime with a book and maybe a stuffed animal, and I leave him in there to play quietly for about half the time he normally naps. He does not get to nap during his non-naptime, even if he is very tired (although I may move naptime up or back by a half-hour to accommodate him). Sometimes he cries, but usually he plays until he's tired, and then goes to sleep. Then, he goes down at bedtime, and it's the same deal. If he doesn't go to sleep right away, well, then he can sit in his bed and play quietly (I don't give him toys beyond his teddy at bedtime) or cry as he chooses. Every half hour I'll check on him, lay him back down if he's up, and then leave again. Usually you can tell if a child is crying because they're in pain or because they're angry, and if your kids are angry, well, they'll be okay. Eventually, the forced schedule will get them back on track.
I have a hard time listening to my son cry (we're working with him right now because he's been waking up in the middle of the night and wanting to play instead of sleep), so I always turn on a fan or something in my room and even put my mp3-player earbuds in my ears to listen to music or something. Good luck!