Prima di poter passare i puntatori alla funzione, devi allocarli: non puoi prima passarli alla funzione e poi allocarli, altrimenti passi alla funzione un valore di memoria non valido:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void inserimento_nomi (char *nome1, char *nome2);

main()
{
	char *nome1, *nome2;

	/* alloco memoria per le due stringhe (max. 19 caratteri) */
	nome1 = (char *) malloc (sizeof(char) * 20);
	nome2 = (char *) malloc (sizeof(char) * 20);

	inserimento_nomi (nome1, nome2);

	printf("\nnome1: %s\n", nome1);
	printf("\nnome2: %s\n", nome2);

	return 0;
}

void inserimento_nomi (char *nome1, char *nome2) 
{	
	printf("\n\n\tInserire il nome1: ");
	fflush(stdin);
	gets(nome1);
	system("cls");
        printf("\n\n\tInserire il nome2: ");
	fflush(stdin);
	gets(nome2);
}
Ciao.