Factual error: If you are a Major in the armed forces
they aren't supposed to discharge you until you serve out your 20 years, thus qualifying for a pension. If you are a Captain on the other hand, and fail to obtain promotion to Major within a certain timeframe, then they are supposed to discharge you. Technically, the same rule applies for promotion from Major to Lieutenant Colonel. But since promotion to that level usually comes during the 15th to 17th year of a commissioned officer's service, an unspoken rule is to let Majors who fail to get promoted to serve out their full 20 years so they get their pension. Only if the Major is a real screw-up will they be let go before then.
Anyway, I get the impression that they let Payne go immediately after he failed to get Lieutenant Colonel. It seems kind of cold to screw a dedicated Marine out of his pension that way.