En Español es posible y perfectamente correcto mezclar tiempos verbales, o utilizar el mismo tiempo en una frase, párrafo o texto.
En tu primera frase: " Ayer yo estaba en el teatro y veía una obra de Antonio Gala".
La frase es correcta, los verbos (estar y ver), están conjugados ambos en el Pretérito Imperfecto.
Si usamos los verbos en Pretérito Perfecto Simple (Indefinido), la frase quedaría así: "Ayer yo estuve en el teatro y ví una obra de Antonio Gala". Que suena muy bien.
Si mezclamos los tiempos podemos decir: "Ayer yo estaba en el teatro y ví una obra de Antonio Gala". Que también es correcta.
La segunda frase "Este año la cosecha ha sido (Pretérito Perfecto Compuesto) buena, porque había (Pretérito Imperfecto) llovido mucho".
Había llovido mucho se refiere al pasado y no especifica cuando había llovido mucho.
Pero la frase es correcta también, por lo dicho anteriormente.
Ahora si utilizamos el mismo tiempo para los verbos la frase quedaría así: " Este año la cosecha ha sido buena, porque ha llovido mucho".
Los verbos están conjugados en Pretérito Perfecto Compuesto, y así la frase suena mejor.