I'm going to compile this answer from the comments made on your question.
(1) The fixed MSB could have been required by a different system and is present in yours due to legacy reasons.
(2) The customer insisted for no good reason (Seems to happen quiete often)
(3) MSB could be used for "Auto-Bauding"/"CLock-Recovery" on a byte basis
(4) A legacy FW could expect 7Bit Data (Common on older systems).
(5) Compatibility with legacy 7-Bit protocol
(6) Could be used as an "extra stop bit" in case MSB is send last
(7) Protocol could have been designed around a 7Bit UART hardware on older MCUs
(8) Could have been used to denote the end of a multi-byte number
Also, i want to include the following option.
(9) The FW on the controller could use a GPIO interrupt and a timer interrupt to implement a UART module in software. The 0x80 startbit could be used to determine timing on a byte basis and also provide a clean "rising edge" to trigger off in this case as a 1-0-1 Series would be present in all bytes. This requires the data MSB to be send as first bit after the startbit, which is uncommon at least.