Ich habe MySql seit etwa 6 Monaten nicht mehr verwendet (glücklicherweise bin ich auf Sql Server migriert), aber versuchen Sie, Ihre @-Symbole durch ? zu ändern, als ob der Speicher dient, das ist die richtige Konvention mit MySql, also:
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();