Eu acho que você usa o campo VALUE em um filtro ou algo semelhante no mapfile (difícil dizer com certeza sem mapfile). Este filtro deve esperar nomes de colunas em maiúsculas e é por isso que a consulta original também tinha nomes de colunas em maiúsculas:
select g.gid, g.geom, g.basin, a.\"DATE\", a.\"VALUE\" from....
Se sim, você só precisa colocar em maiúsculas as colunas retornadas pelo seu procedimento:
RETURNS table (
gid integer,
geom geometry(MultiPolygon,4326),
basin double precision,
"DATE" timestamptz,
"VALUE" double precision
)
Lembre-se que no PostgreSql o caso de nomes de colunas e tabelas importa se você colocar entre aspas duplas. Esta consulta:
SELECT VALUE from ...
é caso independente, enquanto este:
SELECT "VALUE" from ...
realmente requer uma tabela com nomes de colunas em maiúsculas. E tabelas com nomes de colunas em maiúsculas requerem aspas duplas:
CREATE TABLE test ("VALUE" text, .....