Solution: Learn to keep your drama to yourself. If you need to vent, don't make him wrong for it. He didn't cause the traffic jam after all, he was just part of it. Instead you can say “I felt really disappointed when you weren't home for dinner in time, but it's really nice to see you now. I would love a hug." Doesn't that feel better? I can guarentee it will feel better to him.
Keep in your feminine lover side when you're dealing with a man. He has been told what to do for at least 18 years by his mother. He is a man and now. He has a life of his own. If you want to be a part of it, don't act like his mother. Check out My Boyfriend Isn’t Making an Effort! What Should I Do? by Dina Z Colada.