The resulting type of += is char in this case and the resulting type of c + (char)1 is int.
The following code prints:
o1 System.Char o2 System.Int32
public static void Main(string[] args)
{
char c = 'a';
object o1 = c += (char)1;
object o2 = c + (char)1;
WriteLine("o1 " + o1.GetType());
WriteLine("o2 " + o2.GetType());
}