Se il tuo codice è questo
def massimo(numero,n=10,m=1,maks=0):
if numero < 10 and numero>=maks:
return numero
caso = (numero//m)%10
controllo = (numero//n)%10
if caso >= controllo and caso>=maks:
maks=caso
elif controllo >=maks:
maks = controllo
return massimo(numero//(m*10))
allora otterrai sempre la prima cifra del numero.
L'errore che fai è di confrontare nella funzione le ultime due cifre mentre nella funzione dovresti confrontare l'ultima cifra con la quello che restituiche la funzione a cui passi il numero senza l'ultima cifra.