Disculpa Al, pero descontando el hecho de que tu segundo bloque de código no compilará, a mi me parece bastante claro este:
Código Delphi
[-]
Result := 0;
if S <> '' then
case S[1] of
'A': Result := 10;
'B': Result := 9;
'C': Result := 8;
end;
que ocupa el mismo número de líneas y no hace referencia a una función que se une a las decenas de funciones incluidas con Delphi que de por sí debe uno mas o menos tener presente. Esto es importante sobre todo cuando debemos leer el código meses después de haberlo escrito.
Entendámonos; yo concuerdo en el hecho de que resulta muy útil tener ciertas rutinas que nos eviten trabajar de más pero no llevándolo a sus últimas consecuencias en donde se requiere que el programador disponga de una memoria prodigiosa.
// Saludos