And I also didn't use the end-of-campaign sexp instead of where it is supposed to be used: the end of the campaign. I can't see any logical explanation why FS2 does what it does. There is nothing wrong with the campaign file. Maybe I should re-do it with a more recent build?
The problem isn't your campaign file. It's the mission file. Your problem is almost certainly down to you using the end-campaign SEXP in a mission when that SEXP should only be used in the main Freespace2 campaign. I'll go further and say that it's probably in BtM-04cut.fs2 and it's probably somewhere that you meant to use end-mission.
If you want to avoid all issues, just don't use the end-campaign sexp within the mission. You may, however, use the end-of-campaign sexp in (and only in) the campaign file. (Please note, those are two different sexps used for two different purposes. Yes, it's slightly confusing.)
You are aware that's basically what I said in my first post in a much shortened form, right? I told him not to use end-campaign in the mission files. Not the campaign file, the mission files.
No, the part you quoted is only dealing with the end-campaign sexp. That sexp has a very specific purpose, which is to clean up the campaign in the middle of a mission. (In this respect, it's similar to the end-mission sexp, but with the important difference that it dumps you to the main hall instead of to the debriefing - notwithstanding that one comment.)
And that is exactly what I suspect the SEXP is being misused to do.
Taylor's fix was to make the end-campaign sexp work correctly with the supernova code. There's nothing in that method that has anything to do with movies. And taylor correctly interpreted end-campaign as being dependent on the supernova (which uses a specific timing, and set of events) rather than the main FS2 campaign (which would make any other supernova-ending campaign not work correctly).
else {
// post and event to move us to the end-of-campaign state. There we will play a movie, then
// go to debriefing.
That's why I quoted that code. That's exactly what happens if you use the end-mission SEXP in a mission which doesn't have a supernova running. I'd bet money that's exactly what is happening to SF Junky.
The end-campaign state, which I quoted, performs a very specific set of actions. It cleans up the campaign data structures and it plays a set of movies. My fix was simply to make those movies contingent on the main FS2 campaign.
Goober. I suggest you actually test this rather than to continue to tell me I'm wrong when I'm not. Make a mission. Make a second mission. Call end-campaign in the second mission. Stick them in a campaign file that isn't called Freespace 2. Run it in RC3. See?
I have already done this! Both movies are played. The symptoms match SF-Junky's symptoms exactly. Stop telling me I'm wrong on this.
I think you might be confusing what the code is supposed to do with what it does do.
I've committed my fix to trunk. Take a look at it; the changes I made should clarify what I'm saying.
It clarifies that you patched the code to do what you claimed it did all along once you noticed that it didn't do what you thought it did. That's cheating.

I'm not the one confused. I haven't argued in the slightest about what it is
supposed to do. If you'd said that the code
shouldn't play the movies I would have agreed with you. But you have stated repeatedly that that code
can't play the movies. I posted code that proved that the movies play.
It may be that wasn't the intention. It may be that was a bug. It may be that you have now patched that bug. I really don't care because that was never what I was on about. None of that changes the fact that it currently does play the movies. Nor that since your patch is in trunk, 3.6.10 will also play the movies. Nor that the solution to SF-Junky's problem is to track down his usage of the end-campaign SEXP and remove it.
Finally, even if you had been right about everything since your first post (and I've actually tested this in game so I assure you that you are not) you've failed to consider that SF-Junky might possibly have chosen a rather stupid name for his campaign and called it freespace2.fc2 
If anyone is stupid enough to name their campaign file that, then they deserve what they get. 
I wouldn't actually disagree with that but it was the first cause that leapt to mind cause I didn't know that the SEXP would play both movies until I looked at the code. The code itself being broken doesn't really change what the fix should be, finding the use of the end-campaign SEXP in one of the .fs2 files.