FileMode.Append

This appears to not work if the file does not exists

file = new FileStream($@"{drive.Name}" + today + ".txt", FileMode.Append);

This is a very limited example so from this doc I assumed it would work.

Is append implemented? also if not how do I code for similar?

Do you need FileAccess.Write also?

Can you please give a bit more detail?

I just retest on G80 and look work well to me.

           sd = StorageController.FromName(@"GHIElectronics.TinyCLR.NativeApis.STM32F4.SdCardStorageController\0");

            System.Diagnostics.Debug.WriteLine("Start mounting...");
            drive = FileSystem.Mount(sd.Hdc);
            System.Diagnostics.Debug.WriteLine("Opening...");

            FileStream fsWrite = new FileStream(drive.Name + "\\test.txt", FileMode.Append);

            System.Diagnostics.Debug.WriteLine("Writting...");

            var dataWrite = System.Text.Encoding.UTF8.GetBytes("\n\n Test Append: " + DateTime.Now.Ticks.ToString());
            fsWrite.Write(dataWrite, 0, dataWrite.Length);

            System.Diagnostics.Debug.WriteLine("Closing...");

            fsWrite.Flush();
            fsWrite.Close();

            System.Diagnostics.Debug.WriteLine("Closed");

Sorry something else was not working on my end
I retested card detect pin and found that common pin was not wired correctly to GND
Also a bit of solder was connecting write protect to the SD case
And then finally when I sorted that out, I found that I need to wait a bit of time for the file to actually be written to the SD card, I was testing by removing card and inserting to my laptop to quickly.
When I left it for 30+ seconds it was OK. Don’t know if that’s default behavior everywhere or just a TinyCLR thing.

I was testing by removing card and inserting to my laptop to quickly.
When I left it for 30+ seconds it was OK.

Right, you have to call

Flush();

before you remove the SDCard. Otherwise the system flushes automictically after every 60 seconds.