What we really need are (semi-)permanently recorded variables. Ship stats must be recorded somewhere for the purposes of red alerts, so maybe that code could be taken and used to make permanent variables. My vision runs like this:
Invoking the record-status sexp in mission1.fs2 causes the status of ShipA to be recorded like it is when a red-alert happens. This record is retained until called for again in, say, mission3.fs2. Flagging ShipA with a "previous-status" flag in mission3.fs2 causes it to arrive with its stats set to the values recorded previously under the entry for ShipA.
Right now it seems the data is 1) obviously not recorded until the moment of the invocation of the red-alert sexp, requiring that a ship be present if it is to be recorded at all, and 2) tossed out if the next mission is not flagged as a red alert mission. Getting rid of the toss-out and making another sexp that records data for any ship or ships listed without ending the entire mission would probably solve this whole problem. I'll add this to the sexp request list, too.