Siempre que use funciones para columnas, debe asignarles un alias. La razón de esto es que puede estar usando muchas columnas en la función, y MySQL no sabrá automáticamente cuál usar para la salida de una sola columna, y le generaría un nombre de columna similar a la función que usó.
La solución que encontró es absolutamente válida. Sin embargo, para fines de legibilidad, se recomienda usar alias y nombres de columna.
Entonces su consulta debería leerse como tal:
SELECT
SUBSTRING(LEFT(configuration,
LOCATE('abhol_firma', configuration) - 30),
LOCATE('treuhand_betrag', configuration) + 22,
100) as configuration /* note the alias here */
FROM
tl_iso_product_collection_item
WHERE
LOCATE('abhol_firma', configuration) > 0
AND LOCATE('treuhand_betrag', configuration) > 0
ORDER BY id DESC
LIMIT 1