no deberia ser char *Insertar (char *cad, char car, int pos);?
pero bueno, lo q te piden es una funcion q le meta un caracter entremedio a un string, por ejemplo tienes en char *cad "hola" y al hacer cad=Insertar(cad,'8',2); cad tiene q quedar "ho8la"
y lo de los indices y punteros supongo q se refieren a hacerlo con la posicion i del string (for(i=0;cad;i++) etc...) o con los caracteres a los q apunta el puntero (for(;*cad;cad++) o algo asi...)