The Nexus thing is a bit fishy, but it's one of those "movie logic" moments where you just have to go with the flow.
And they could so easily have had avoided the problem. It all comes down to this exchange:
GUINAN: But as I said, time has no meaning here. So if you leave you can go anywhere, any time.
PICARD: All right, I know exactly where I want to go. The mountaintop on Veridian Three, just before Soran destroyed the star. I have to stop it. But I need help.
The easy fix would be for Guinan to say "time has no meaning here, but unless the Nexus is interrupted, say, by a passing ship, you can only go back to the moment you left."
The trickier answer would be for Guinan to point out the causality nightmare that might ensue if Picard went back too soon. He might stop Soran but cause something else to happen, or he might change history so that he and Soran never cross paths.
Can I leave the Nexus to warn Moore and Braga against writing the Nexus? Would they end up writing something worse?