Hola eferion,
 
Gracias por tu respuesta; de nuevo, perfectamente explicado.  
Es cierto que el tema de liberación de memoria es algo que suelo olvidar y después me provoca muchos quebraderos de cabeza :). En este caso, entiendo que el código quedaría de la siguiente manera, para liberar la memoria reservada:    
Código C:
Ver originalint main( )
{
   char ** variable 
= (char**)malloc(10*sizeof(char*));  
   myfunction( variable, 10 );
 
 
   return 0;
}
  
La cuestión es que el código me compila y la aplicación se ejecuta, pero aparece un error al compilar que me mosquea (estoy utilizando Visual Studio 2010):  
IntelliSense: una referencia de tipo "int &" (no calificado constante) no se puede inicializar con un valor de tipo "char**" 
El error hace referencia al uso de variable en la siguiente linea:    
¿Sabes por qué aparece este error? ¿Realmente es un problema de compilación (ya que la aplicación se compila sin problemas? 
Gracias de nuevo