I don't have too much to say about Source Code. Honestly. It's a decent movie. You may find yourself perplexed at the ending, even angry one particular character, but over all, it's a damn enjoyable movie, and I'd recommend it to anyone.
7/10. If you haven't seen it. Go see it.
For the rest of this post, I try to explain the ending to Source Code. If you don't want to be confused or see spoilers, ignore the rest of this post!
--------------------------
Ending Explanation!
Okay, there seems to be some confusion on the ending, so I'll try to explain it in the way I understood it..
The Source Code isn't a simulation. If it was, then the entire thing wouldn't work, you'd need constantly evolving data that the main character didn't have, and thus can't access.
So, the Train is real. It's an alternate plane of reality. Every time the Main Character goes into it, he's moving into the mind of someone in that reality. Every time he changes something, these changes remain constant in the reality. So, saving Christine that one time, in that reality, she survived and witnessed the explosion. We never see the outcomes because Colter always comes back to his Chamber after "8 minutes." (In the movie it's 8 minutes, though in screen time it's obviously less.)
Now, imagine time as a big white piece of paper. Every time something happens, no matter how small, an atom moving one way, the Reality it happened in creates a dot on the paper, this dot represents the new Reality where the atom moved, for example, to the right. Of course, before it, there is a second dot. This is the Reality just before the atom moved and went into it's own reality. So, for every action, no matter how small, reality is, to put it really, really simply, copy-pasted making a new one. For example, you knock over a vase. You're in the reality where the vase has fallen over and smashed on the ground. At the same time, there is the reality where you're yet to hit it. If you went back, KNOWING you were going to hit it, and tried to avoid it, suppose the vase doesn't fall, it just wobbles instead. This is yet another reality that you're now in. So, by doing that, you've got three realities, one where the vase hasn't moved, one where it's broken, and one where it didn't fall. That's this movie.
At the end, Colter stops the bomb plot. So now, there's, to keep it simple, three realities. One where he's sitting on the chair, about to try to stop the bomb, there's one where he didn't stop the bomb, and there's one where he did (the one he's now in.) OBviously there's many more, such as all the realities where he went back to Chamber, but we can ignore that for now.
Now, before Colter stops the bomb, he sent a message to Goodwin, which we heard at the end of the movie. The message continues to live because Colter sent it IN THAT SAME REALITY from another body his consciousness inhabited at that time, which was still on the train.
Skip ahead to the end.
So now Colter is in a new reality where the day is saved. He gets to live on in this reality still in what's-his-faces-head, still kissing Chrsitine, etc, etc. Because his consciousness, as we've seen in the movie, only ever exists in one tangent (every time a new reality was created, he left it, we're left to assume either the original person regains their consciousness as Colter leaves, or the mind inhabited simply has no consciousness left to speak of, I believe the former), he can continue to survive despite Goodwin letting his original body die.
Colter now exists in a parallel universe, the day is saved, AND his unconscious body is living in the parallel universe where he hasn't yet been used in the Source Code Project. We do not know what happens to his consciousness when his body regains consciousness. We can only assume that A) it won't wake up, B) a copy is made, where there were multiple consciousnesses for each instance where he inhabited a body that didn't die, or has yet to die, meaning he awakes as he normally would with no knowledge what had happened in other realities as this copy of his consciousness hadn't experienced it, or C)his original consciousness, unable to be in more than one place at a time, moves from the "Saved The Day" Universe back to the original "Source Code" Universe that we saw at the end of the movie.