Ciao, nel codice che hai scritto ci sono un po' di errori.
1) la variabile "som" che usi per sommare tutti i valori pari è definita dentro il corpo della tua funzione. In questo modo ad ogni chiamata ricorsiva si resetta sempre;
2) quando n vale 1, imposti som con il valore 1, e quindi la funzione ti restituisce sempre il valore 1.
3) ti conviene salvare i risultati della somma in un parametro della funzione. Quindi devi spostare la tua variabile som dal corpo del codice a parametro della funzione.
Nel codice che ti posto il parametro somma è passato per riferimento, così puoi modificarlo nel caso in cui l'elemento del vettore è pari.
function sommapari(vet:intero; n:integer; var somma:integer);
begin
if (n > 0) then begin
if (vett[n] mod 2 = 0) then begin
somma := somma + vett[n];
end;
sommapari(vett, n - 1, somma);
end
end