The fact that Jonathan lied to Nancy and is still lying as of the end of Season 4 just rubs me the wrong way. I've been betrayed by dishonesty before, and it stings. I don't think Nancy should put up with someone who can't come clean with her and just have a heart-to-heart conversation.
Steve, on the other hand, has vastly matured since Season 2, and was showing genuine concern for her in Season 4. He's steadier, and I could see the two of them having a much healthier relationship at this point.