Help understanding (char *).

That is the format for a type cast. The function has been declared something like this
void ELM_transmit(char* myChar);
and the variable like this
byte ECT[12];
then calling the function with ECT as a parameter would cause a type error. The (char*) tells the compiler treat this variable as a character pointer, not a byte pointer as declared.

edit: I see your edit. The define probably assigns the data type on that as a String variable. Then you need to tell the compiler it is not really a string, but an array of characters.