Well, we found the problem then. He receives no such thing in Epsiode 5 rule sets. So probably an oversight in development.
Might be this line. uGetNPC(#NPC_Player):uStepRank(); Testing in Epsiode 5 now
Edit: Well, that did it. Properly identified as Rear Admiral in espiode 5's config window
Edit 2: Only for the first mission
Edit 3: "uGetNPC(#NPC_Player):rank:=8;" = Rear Admiral
Edit 4:
Here's where it gets strange. I changed Veltmans rank to 9. No change. But changing NPC one to seven and keep StepRank, Marcus keeps the commodore. At 9 he gets Vice Admiral and at 8; Rear Admiral.
Edit 5: Setting uGetNPC(#NPC_Player):rank:=8; at each mission start, changes the title on successful autosaveload. Now, what happens when you clear a mission and progress naturally?
Hopefully, uGetNPC(#NPC_Player):rank:=8; will overwrite any other input and keep him rear admiral until ruleset 6
I'm baffled. Because I can't see them doing this in the other rulesets. So there's gotta be another file setting it back or some such. But as long as this method works, I -think- we've cleared that problem.