I imagine that you may get varying opinions about this question, but in my experience, the best time to tell someone if they do something that hurts you or that you don't like during sex is right then.
If you wait and then bring it up later, then yes, the person (if they're a caring person) is much more likely to feel guilty.
I'm not saying that you shouldn't bring up the subject whenever you want to - just that an immediate response from you of "Ouch, that hurts" or "No, I don't like that"
should result in your fiance adjusting his approach. If he doesn't, then you have a different problem.
As far as the nightmares go, that sounds like something you might need to see a psychotherapist about. That's a safe and professional atmosphere in which to talk about that subject.
Hugs.