I'm sorry,
but once again I cannot confirm your claim.
testing on my own PC:
WITH mp AS(
SELECT ST_GeomFromText('MULTIPOLYGON (((0 0, 1 0, 2 1, 1 1, 0 0)),
((8 2, 8 4, 10 4, 10 2, 8 2)),
((4 9, 5 9, 5 8, 4 8, 4 9)))'
) geom
)
SELECT ST_AsText(GeosConcaveHull(mp.geom, 1,TRUE)) from mp;
------------------
POLYGON((4 9, 5 9, 10 4, 10 2, 1 0, 0 0, 4 9))
and then testing ST_IsValid() on the input MultiPolygon
returns 1 (not -1, that usually means INVALID ARG)
bye Sandro