El problema es que aunque parezca un cambio sin importancia (sólo cambiar la extensión del fichero) en realiz¡dad no lo es.
Realmente lo que tú necesitas es generar un fichero con un formato distinto.
El código que comentas, crear el fichero XLS "a mano" generando la cabecera de forma manual según el formato de los ficheros XLS. Para generar un fichero XLSX de la misma forma, deberías conecer el formato de este tipo y generarlo manualmente de la misma forma. Cosa que no veo fácil.
Hay otra forma de generar los ficheros XLSX desde delphi que es utilizando Automatización. Aquí tienes
un ejemplo de TiammatMX de cómo hacerlo.