Lee este detalle del manual:
Cita: Un procedimiento o función se considera “determinista” si siempre produce el mismo resultado para los mismos parámetros de entrada, y “no determinista” en cualquier otro caso. Si no se da ni DETERMINISTIC ni NOT DETERMINISTIC por defecto es NOT DETERMINISTIC.
En tu caso, estás metiendo siempre un mismo tipo de parámetro, y
siempre devuelve un entero, dentro de un mismo rango dado.
¿Se entiende ahora?
De todos modos, deberías haber usado un SP y no una SF.
Te hubieses ahorrado dolores de cabeza.