IBXのParamByNameって、同じ名前のパラメータが複数存在すると、先に出てきた一個しか
扱えません。

例えば SELECT * FROM TABLE1 WHERE A = :HOGE OR B = :HOGE というSQLがセットされた
TIBSQLコンポーネントに対して
ParamByName('HOGE').Value := 100;
としても、変更されるのは初めのHOGEだけなので、期待した結果は得られません。

気付くのにどえらい時間がかかりますた。
そろそろIBXから離れろというお天道様のお導きなのかしらん…

既出だたらごめんさい