So the underlying problem is that the Informix ODBC driver returns "Unspecified System Error -21005".
You may need to find a forum where they talk about Informix to get accurate help. I did however do some googling around, and I did find this page: https://www.ibm.com/support/pages/apar/IC67242
It suggests that there is an illegal character, although it is not clear what that would be. Have you executed this very query directly on Informix to verify that it runs correctly?
Looking at you query, I notice that you have double quotes in the the string. Now, I don't know anything about Informix, but in ANSI SQL, double quotes delimit identifiers and not strings. So maybe you should try replacing the double quotes with doubled single quotes. That is:
SELECT * FROM
OPENQUERY(stratix2, 'SELECT tsi_ref_itm, tsi_ref_pfx, tsi_ref_no, tsi_txt FROM
tcttsi_rec where tsi_rmk_typ = ''35'' and tsi_cmpy_id = ''NBM''')