Answer
Check whether the query uses old-style Oracle outer-join syntax (a trailing (+) on the join column) rather than ANSI JOIN syntax — in at least one confirmed case, switching an old-style (+) outer join to a standard INNER JOIN resolved this exact bind-variable error, even though the underlying reason wasn't fully clear. If a report combining a bind variable with an old-style (+) join fails this way, converting the join syntax to ANSI (INNER/LEFT JOIN ... ON) is worth trying before assuming the bind variable itself is unsupported.