Usage of introducer (_charset ) is problematic due to usage of different character sets in a single command. The problems are different from version to version, and may be transliteration error, malformed string or just unexpected things.
It happens in two different usage scenarios.
1) When a query use it, and another selects from MON$STATEMENTS.
2) When it's used in a persistent module (SP, trigger).
The solution for the problem is to transform the introducer strings to a form capable to be represented in ASCII characters.
So, for example, this command:
select _dos850 '123áé456' from rdb$database
May be transformed to:
select _dos850 X'313233A082343536' from rdb$database