No te mostraba todos los valores, porque como imagino que luego viste, lo único que hacías en el bucle, era leer el número. Pero luego insertabas fuera del bucle únicamente el último.
Eso sería lo correcto.
Por otro lado, cuando postees código en el foro, utiliza la etiqueta GeSHi que encontrarás en la esquina superior derecha del cuadro de respuesta.
Código (c) [Seleccionar]
for (i=1; i<4; i++){
printf ("Ingrese el valor\n");
scanf("%d\n",&valor);
lista=inserta_por_cabeza(lista, valor);
}
Eso sería lo correcto.
Por otro lado, cuando postees código en el foro, utiliza la etiqueta GeSHi que encontrarás en la esquina superior derecha del cuadro de respuesta.