Procedura składowana nie tylko zwróci wynik ostatniego SELECT. Musisz faktycznie zwrócić wartość:
CREATE OR REPLACE FUNCTION fun() RETURNS text AS $$
BEGIN
--- ....
RETURN(SELECT dblink_disconnect());
END
$$ LANGUAGE plpgsql;
Otrzymujesz błąd, ponieważ Postgres oczekuje, że funkcja zwróci coś typu tekst, ale Twoja funkcja niczego nie zwraca.