The game is being simulated in the server, not in the client (otherwise 2 managers would see different outcomes for the same match). Also, a game can't be postponed no matter what, as they have a fixed schedule time that can't be altered after the match has already started. When the server is stopped for any reason, this match will need to be simulated (on the server side) therefore there can be inconsistencies between what you say in your device with what finally happened.
Regarding your second question: it is not random. When a user joins a match, it is always positive for the team who he supports (specially if it's the manager, as the bonus is bigger). This doesn't mean this team will be able to "see" this positive effect, because joining a match gives that team slightly more chances to win, but you can still lose. And by coincidence, you could receive a goal shortly afterwards of joining your match. That doesn't mean it happened "because" you joined, as it would have happened anyway if you hadn't. But maybe you would have received 2 goals instead of 1.