¿La frase “has terminado de comer” es un mejor inglés que la frase “has terminado de comer”?

Sí lo es, pero ninguno de ellos es particularmente bueno, en inglés británico, al menos (no puedo pretender saber o aprobar mucho inglés estadounidense).

Una frase mejor sería “¿Terminaste / terminaste de comer?”. Se podría decir “¿ya terminaste?” O “¿has terminado?”, Pero debido a que se está completando un estado / acción con nombre, debe estar en tiempo pasado. “¿Estabas …?” cambia por completo el significado de la oración, por lo que “tener” es la mejor solución.
En cuanto a hecho y terminado, semánticamente, no hay mucha diferencia entre ellos. Sin embargo, hay suficiente que un pedante como yo notaría.

Usaré algunas definiciones de diccionario para ayudar a aclarar:
Listo significa “Ya no ocurre o no existe”, mientras que el final significa “finalizado, completado”.
Done funciona para una tarea continua, repetida o larga, una que a menudo no tiene nombre o es genérica, como “trabajo”. Acabado generalmente se refiere a una única tarea que generalmente se define.

Recordar:

  • Podrías usar ambos, pero puedes burlarte de ello en algunos lugares.
  • Preguntar si algo se ha completado es diferente de preguntar si está completo.

Fuentes:
Oxford English Dictionary, al que se accede a través de estos enlaces:

  • definición de hecho en inglés del diccionario Oxford
  • definición de acabado en inglés del diccionario Oxford