Nelle frasi 1-4 e 6 è possibile usare entrambi i tempi, con la distinzione che è stata illustrata nella risposta 2800577.
In particolare, nella frase 1 la mamma ci aspettava non fa riferimento al momento finale dell'attesa, lasciando intendere che tale attesa non sia mai terminata (ovvero i figli non sono andati a mangiare con la madre); la mamma ci ha aspettato, al contrario, indica che a un certo punto l'attesa sia finita.
Nella 2 la soluzione più attesa è è stata liberaera libera andrebbe bene se si riferisse alla ripetizione dell'evento nel passato (per esempio: "Quando lavorarava come fioraia, il pomeriggio era libera anche lei...").
Nella 3 sono andati e ha tenuti fa riferimento al fatto che alla fine tutti sono arrivati in chiesa; andavano e teneva, invece, fa pensare che sia successo qualcosa durante il processo, che potrebbe anche aver impedito la conclusione del processo (per esempio: "La nonna li teneva per mano, ma uno dei due è inciampato e si è sbucciato un ginocchio").
Nella 4 ci sono due intrecci possibili: a loro i cannelloni non sono piaciuti e hanno preferito il secondo = 'hanno provato sia i cannelloni sia il secondo, e tra i due piatti hanno preferito il secondo'; a loro i cannelloni non piacevano e hanno preferito il secondo = 'normalmente a loro non piacevano i cannelloni, per cui non li hanno provati e hanno preferito provare soltanto il secondo'.
La frase 5 richiede l'imperfetto (e la virgola prima della proposizione relativa): il cacao, che era davvero buono. Un soggetto inanimato come il cacao non può essere costruito con il passato prossimo se il nome del predicato è un aggettivo come buonoIl cacao è stato buono significherebbe 'si è comportato bene'. Al contrario, si può avere Luigi è stato buono = 'Luigi si è comportato bene'.
Per la 6 vale la stessa spiegazione della 2.
Fabio Ruggiano