RE:Funcion MID en Visual C
Echa un ojo a las funciones strcpy, strcat, strstr, strdup, etc, etc. Con ellas podrás hacerlo.
A mi se me ocurre algo asi como
/* Cadena que vamos a extraer. N es el numero de caracteres que queremos extraer */
char cadena_cortada[N+1];
/* Copia en cadena cortada N caracteres de la original a partir de la posición inicio */
strncpy (cadena_cortada, cadena_original + inicio, N);
/* Aseguramos que la cadena termine en \0 */
cadena_cortada[N]=0;
Debería además antes de llamar a strncpy() hacer algunas comprobaciones de que los indices no se van de rango.
Siempre puedes meter todo esto en una función (que parece que es lo que pretendes) y así no tienes que escribirlo todo cada vez.
Se bueno.