Nie używałem MySql od około 6 miesięcy (na szczęście przeniosłem się do SQL Server), ale spróbuj zmienić symbole @ na ?, tak jakby pamięć służyła, to właściwa konwencja z MySql, więc:
MySqlCommand cmdAdd = new MySqlCommand(
"INSERT INTO Faults (FaultGroup, Text, Date, IP)"
+ " VALUES (?FaultGroup, ?Text, ?Date, ?IP)",
conn);
MySqlParameter paramFaultGroup = new MySqlParameter("?FaultGroup", MySqlDbType.Int32);
FaultsGroup faultsGroup = (FaultsGroup) Enum.Parse(typeof (FaultsGroup), myFault.FaultGroup);
paramFaultGroup.Value = (int) faultsGroup;
cmdAdd.Parameters.Add(paramFaultGroup);
cmdAdd.ExecuteNonQuery();