En Interbase 1.0 no se, pero en Firebird, en los UNION, los campos deben ser exactamente iguales.
En tu ejemplo M.Description as Descripcion y 'TOTAL' as Descripcion, por lo que debes hacer un CAST
Ej:
Código SQL
[-]CAST('TOTAL' AS VARCHAR(50)) AS Descripcion
, suponiendo que el campoM.Descripcion sea un VARCHAR(50). Esto debes hacerlo para todos los campos
Espero que te sirva de ayuda
Un saludo