Please note that information about Flag status is not stored in the MIME content. It is stored in the EWS item metadata.
The GetMessage() and GetMailMessage() download the MIME message. To get flag status, either use GetMessageList() method as shown in my answer, or use the GetMessageInfo() method, like this:
var info = client.GetMessageInfo(messageId, EwsItemFields.Info);
Console.WriteLine(info.Flag?.Status);
Please note that the GetMessage() method downloads and saves raw MIME data of the email. The GetMailMessage() parses the raw MIME data into MailMessage object, which can be modified. You can for example set Flag status into a MIME header before saving the message to disk. However, parsing take some time and memory, you can for example first write the Flag status into the desired file (in form of MIME header), then download the message using GetMessage() method into the file-stream.
Or you can save the Flag status into a separate metadata file, database, or whatever else.