Bueno, no es exactamente un Error, es un Warning... el compilador a encontrado que en tu función hace falta asegurar el hecho de que ella te devuelva siempre un valor y por eso te muestra dicha precaución.
Por ejemplo, ¿Que pasaría si alguien coloca como parametro un valor que este fuera del rango del 0..9?, por ejemplo el 1000, seguramente dicha función te devolvera el número que "caiga" luego de pasar 1000 veces evaluando opcion por opcion (La numero 1000 sera tu resultado, en este caso el 8).
Como solucionar este "problemita", asegurandonos que esta función te devuelva un valor "fijo" en caso de que el parametro no tenga un valor que este dentro de ese rango 0..9, asi por ejemplo:
Código Delphi
[-]
FUNCTION f(Fila:integer):char;
BEGIN
CASE Fila of
0: f:='0';
1: f:='1';
2: f:='2';
3: f:='3';
4: f:='4';
5: f:='5';
6: f:='6';
7: f:='7';
8: f:='8';
9: f:='9';
else
f := ' ';
end;
END;