Appointment.Cancel creates a cancelled appointment (with all events canceled, and method set to Method.Cancel):
Appointment appointment = ...;
Appointment canceled = appointment.Cancel()
When you are using MailBuilder.AddAppointment or FluentMail.AddAppointment method new MIME entity is created and added to your email.
Its ContentTypeMethod ('method' parameter of 'content-type' header) is set accordingly to the value of Appointment.Method property.
In case of new appointment it is Method.Publish, in case of canceled appointment it is Method.Cancel.
You shouldn't use Method.Publish for canceled appointments.